是一套完整的Pintool入門流程,之前說坑多沒裝上是因為用的還只是wsl+沒有虛擬機,現在(折騰完wsl2+裝了vmware以后)終於可以用上Pintool了!
親測wsl2和Kali-linux 2020.2都能成功(且步驟相同
Pintool工具:wagiro/pintool: This tool can be useful for solving some reversing challenges in CTFs events.
bilud Pin部分參考:Erro at the execution
原始文件下載
Pintool
在Pintool工具處下載代碼(pintool-master;其實有用的只有pintool.py這一個文件,其他都是例子)。

Pin
在Pin官網的下載頁面下載Linux欄的Pin最新版並解壓,可以把文件夾名改短一點(pin-3.17-gcc-linux)。

Build Pin
將pin-3.17-gcc-linux放入pintool-master中,即:

然后把終端cd到pin-3.17-gcc-linux下以后,輸入:
cd source/tools/ManualExamples
make obj-intel64/inscount0.so
make obj-ia32/inscount0.so TARGET=ia32
可以在pin-3.17-gcc-linux/source/tools/ManualExamples目錄下看到:

build完成。
修改配置
回到pintool-master下,按README修改pintool.py。
PIN = "./pin-3.17-gcc-linux/pin"
INSCOUNT32 = "./pin-3.17-gcc-linux/source/tools/ManualExamples/obj-ia32/inscount0.so"
INSCOUNT64 = "./pin-3.17-gcc-linux/source/tools/ManualExamples/obj-intel64/inscount0.so"
然后就可以愉快地插樁啦~
使用
項目README里的幫助(mark一下):

日常使用的話就可以把二進制文件拖進pintool-master中,然后在此打開終端輸入命令(如python pintool.py -a 64 -c 1,2,3 -b {_} -l 25 -d "=> 300" -s - vm)即可。
