使用ida远程调试

简介

IDA作为一款清晰易用的反汇编软件,可以生成简洁美观的伪代码。在pwn调试中使用IDA进行调试,相比pwndbg等工具,可以更直观地观察代码执行、更简便地设置断点,另外得益于GUI,也可以更方便地操作。然而IDA在网络上的版本多为Windows版,调试linux时需要远程调试。本文将介绍如何使用IDA进行远程调试。

操作步骤

  1. 在IDA软件目录下找到dbgsrv/linux_server64,拷贝至linux端,并运行
  2. IDA打开要调试的程序,窗口中选择Debugger-Select Debugger-Remote Linux Debugger,然后在Debugger-Process Options选项中输入linux端的IP地址(如linux有防火墙要确保端口开放)
  3. linux端使用pwntools运行要调试的程序,然后在IDA端选择Debugger-Attach To Process-选择被调试程序进程即可。

如果只是要尝试运行一下被调试程序,可以在第2步后,IDA端选择Debugger-Start Process,目录不需要设定(IDA可以将被调试程序拷贝到linux端调试服务器运行目录下),点击Start后会有找不到被调试文件的提示,点击拷贝即可。程序的输入输出在linux_server64的终端下。

注意事项

  1. 使用Start Process打开程序时,程序的输入输出在linux_server64的终端下。在终端下输入内容后,会存在缓冲区中,如果没有被被调试进程读取,会继续保留至下一次调试。因此在不小心输入过多内容后,会出现下一次打开程序后,虽然自己没有输入内容,但程序却接收到输入的情况。