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運行到輸出位置。(和上面類似)