一、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了。