PinCTF

PinCTF的用法

PinCTF是用python写的一个脚本,用来使用Pin的,可以用来做CTF的逆向题

命令:

几个参数:
-f 指定可执行文件
-i 跟踪输入指令的说明 ,用来爆破出flag的
-il 跟踪输入长度的说明,用来爆破出flag位数的
-a, --arg             Trace instructions for passed in argument
-c  检测数据的最长长度
-l 指定pin库的位置
-sl 输入的参数的长度
-r 字符范围
--threading 开启多线程
-tc 指定线程数

获得flag长度

./pinCTF.py -f examples/wyvern_c85f1be480808a9da350faaa6104a19b -il -l obj-intel64/ -c 30

爆破flag内容

./pinCTF.py -f examples/wyvern_c85f1be480808a9da350faaa6104a19b -i -l obj-intel64/ -sl 28 -r abcdefghijklmnopqrstuvwxyz012345_-+LVMA -sk

不过单线程可能会有点慢,可以选择多线程,通过参数--threading,开启多线程,使用-tc指定线程数

time ./pinCTF.py -f $pwd/examples/crypt4 -a -sl 26 --threading -tc 4

有些二进制文件从后面开始验证,可以通过参数-rev使PinCTF能向后改变输入

./pinCTF.py -f $(pwd)/examples/ELF-NoSoftwareBreakpoints -i -sl 25 -rev -t -tc 4 -r abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_-@

你可能感兴趣的:(PinCTF)