一、Tenet介绍
项目地址:https://github.com/gaasedelen/tenet
作者博客地址:http://blog.ret2.io/2021/04/20/tenet-trace-explorer/
看雪大佬的翻译:https://bbs.pediy.com/thread-267179.htm
Tenet是一款支持浏览执行记录的插件,可以查看寄存器和内存在执行过程中变化的历史信息。
二、使用
这款工具的使用依托于固定格式的执行记录文件,这个文件的格式要求在readme上有详细的解释。
那么我们怎么准备这个记录文件呢?作指这里给出了两种解决方法,Intel的Pin框架和qemu。这里我选择的是使用Pin框架。
安装Pin框架,这里就略过了。我安装使用的是pin-3.16。
在vs里,编译作者提供的pintool工程,得到32位或64位的pintool(也就是dll文件)。
这里我把pin命令写到一个脚本里了(直接用"pin -t xxx.dll -- xxx.exe"也行的,注意工作目录就好),执行命令生成trace0.log,如下:
pin64.bat -t D:\MyPinTool.dll -- D:\逆向学习资源\Tenet\testcase\boombox\boombox.exe
该pintool执行完成后,会在工作目录下生成trace0.log和trace1.log,这就是我们想要的执行记录文件。
接下来我们只需要在ida7.5中加载这个文件就可以开始使用Tenet分析boombox.exe了。