-
-
[原创]IDA动态调试ELF
-
2018-11-18 10:21
23180
-
0x00:环境
待调试ELF文件
IDA 7.0
主机:Windows
虚拟机:Linux
达成效果:在Window上利用IDA远程动态调试linux里的ELF文件
0x01:Unbuntu里运行IDA的服务器组件
IDA附带以下组件:
![IDA_dbgsrv](upload/attach/202002/754262_HKGMKHUNXCYHAWE.png)
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
![ida1](upload/attach/202002/754262_ENHV7U3TFGG2B6P.png)
![ida2](upload/attach/202002/754262_T7BE23NK4AD9ZVY.jpg)
- Application:你要调试的应用程序的二进制文件的完整路径,包括程序。对于远程调试会话,该路径为调试服务器上的路径。如果选择不使用完整路径,远程服务器将搜索它的当前工作目录。
- Directory:对于远程调试,此字段表示远程目录。
- Parameters:用于指定在进程启动时传递给它的任何命令行参数。对于远程调试会话,进程输出将在用于启动调试服务器的控制台中显示。
- Hostname:远程调试服务器主机或IP地址。
- Port:远程调试服务器监听的TCP端口号。
- Password:远程调试服务器所需的密码。
1)Application
在Ubuntu中查看存放待调试ELF文件的路径
![ida3](upload/attach/202002/754262_8MENWGUDHD46DJD.png)
注意: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
![ida4](upload/attach/202002/754262_PXWNMWUWV6SWT72.png)
将这个IP填入Hostname中
192.168.254.131
端口是默认就是23946的,从第二张图就可以看出来
5)Password
不填
6)综上
![ida6](upload/attach/202002/754262_3XY4K5AUWG56BK3.jpg)
填好后按OK,IDA就会载入远程程序,就可以进行调试了。
![ida5](upload/attach/202002/754262_Y39BRMA542S7XUS.png)
0x03:
参考:IDA Pro权威指南
![idaelf](upload/attach/201811/754262_483SWZUHXC6J5X4.gif)
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2018-11-18 10:25
被无名无名氏编辑
,原因: