-
-
[原创]IDA动态调试ELF
-
2018-11-18 10:21
19332
-
0x00:环境
待调试ELF文件
IDA 7.0
主机:Windows
虚拟机:Linux
达成效果:在Window上利用IDA远程动态调试linux里的ELF文件
0x01:Unbuntu里运行IDA的服务器组件
IDA附带以下组件:

linux_server:在Linux计算机上执行的、用于调试32位Linux应用程序的服务器组件。
linux_server64:在64位Linux计算机上执行的、用于调试64位Linux应用程序的服务器组件。
1)将Windows下的IDA里的dbgsrv文件夹下对应的组件复制到Linux中去,并运行这个组件。
注意:被调试文件如果是32位的,复制linux_server,被调试文件如果是64位的,复制linux_server64。
2)复制过去之后,打开终端,运行该组件:
0x02:Windows下配置IDA debug
菜单栏处:Debugger -> Run -> Remote Linux debugger


- Application:你要调试的应用程序的二进制文件的完整路径,包括程序。对于远程调试会话,该路径为调试服务器上的路径。如果选择不使用完整路径,远程服务器将搜索它的当前工作目录。
- Directory:对于远程调试,此字段表示远程目录。
- Parameters:用于指定在进程启动时传递给它的任何命令行参数。对于远程调试会话,进程输出将在用于启动调试服务器的控制台中显示。
- Hostname:远程调试服务器主机或IP地址。
- Port:远程调试服务器监听的TCP端口号。
- Password:远程调试服务器所需的密码。
1)Application
在Ubuntu中查看存放待调试ELF文件的路径

注意:Application是要调试的应用程序的二进制文件的完整路径,所以填的的时候要加上这个待调试ELF的文件名。
所以填入Application里的应该是:(hideandseek是我的待调试文件)
/home/user/workspace/IDA_ELF/hideandseek
2)Directory
输入存放待调试ELF文件的路径,不需要加上ELF文件了
/home/user/workspace/IDA_ELF
3)Parameters
不填
4)Hostname
Linux下打开终端,输ifconfig,查看IP

将这个IP填入Hostname中
192.168.254.131
端口是默认就是23946的,从第二张图就可以看出来
5)Password
不填
6)综上

填好后按OK,IDA就会载入远程程序,就可以进行调试了。

0x03:
参考:IDA Pro权威指南

[2023春季班]2023,新的征程,脱壳机更新、iOS/eBPF、赠送云手机套装!一块裸板虚拟化五个容器云手机!3月25日起同时上调价格并赠送新设备!
最后于 2018-11-18 10:25
被无名无名氏编辑
,原因: