pwn环境:用IDA调试+pwntools输入
1.linux安装socat、expect、pwntools
2.新建一个文件idaIOtool.sh,把此代码复制到里面。
#!/usr/bin/expect -f spawn socat tcp-listen:10001,reuseaddr,fork EXEC:./bof-shellcode,pty,raw,echo=0 spawn python2 send "from pwn import *\n" send "sh=remote('127.0.0.1',10001)\n" interact
3.把ida的远程调试器复制到linux,用sudo运行(重要)
4.先运行IDA的动态调试,此时要保证可以连上Linux,进行必要的下断点
5.IDA点停止
6.运行idaIOtool.sh,此时会有个python窗口,同时程序运行到了输入位置
7.IDA->debugger->Attach to process, 找到程序进程附加
8.点击运行按钮。此后python窗口进行操作后,IDA会在先前断点位置断下
9.后面正常单步分析即可,遇到需要输入的地方会卡住等待python窗输入完。
10.如果想看输出结果,用sh.read()即可,但无输出时用了这句会导致python窗卡死等待IDA运行到输出位置。(和上面类似)