首页
社区
课程
招聘
[原创]IDA动态调试ELF
2018-11-18 10:21 22184

[原创]IDA动态调试ELF

2018-11-18 10:21
22184

0x00:环境

待调试ELF文件
IDA 7.0
主机:Windows
虚拟机:Linux

 

达成效果:在Window上利用IDA远程动态调试linux里的ELF文件

0x01:Unbuntu里运行IDA的服务器组件

IDA附带以下组件:
IDA_dbgsrv
linux_server:在Linux计算机上执行的、用于调试32位Linux应用程序的服务器组件。
linux_server64:在64位Linux计算机上执行的、用于调试64位Linux应用程序的服务器组件。

 

1)将Windows下的IDA里的dbgsrv文件夹下对应的组件复制到Linux中去,并运行这个组件。
注意:被调试文件如果是32位的,复制linux_server,被调试文件如果是64位的,复制linux_server64。

 

2)复制过去之后,打开终端,运行该组件:

  • 若待调试是64位文件
    chmod +x linux_server64
    ./linux_server64
    
  • 若待调试是32位文件
    chmod +x linux_server
    ./linux_server
    
    run_server

0x02:Windows下配置IDA debug

菜单栏处:Debugger -> Run -> Remote Linux debugger
ida1

 

ida2

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

1)Application
在Ubuntu中查看存放待调试ELF文件的路径
ida3
注意: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
将这个IP填入Hostname中

192.168.254.131

 

端口是默认就是23946的,从第二张图就可以看出来

 

5)Password

不填

 

6)综上
ida6
填好后按OK,IDA就会载入远程程序,就可以进行调试了。
ida5

0x03:

参考:IDA Pro权威指南
idaelf


[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

最后于 2018-11-18 10:25 被无名无名氏编辑 ,原因:
收藏
点赞15
打赏
分享
打赏 + 2.00雪花
打赏次数 1 雪花 + 2.00
 
赞赏  junkboy   +2.00 2018/11/18
最新回复 (9)
雪    币: 11109
活跃值: (3858)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xie风腾 2018-11-18 10:33
2
1

多谢楼主分享哟.
录成视频就好了,可以下载慢慢看
雪    币: 16429
活跃值: (59390)
能力值: (RANK:125 )
在线值:
发帖
回帖
粉丝
Editor 2018-11-18 10:39
3
1
 感谢分享!
雪    币: 222
活跃值: (1761)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
lhglhg 1 2018-11-18 12:35
4
1
学习了。。
雪    币: 11716
活跃值: (133)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
junkboy 2018-11-18 13:50
5
1
支持
雪    币: 5
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
wrong-404 2019-12-24 18:25
6
0
./linux_server 运行失败
bash: ./linux_server: No such file or directory
最后于 2019-12-24 18:26 被wrong-404编辑 ,原因:
雪    币: 1237
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
dumBball 2019-12-26 09:23
7
0
这不是基操么。。。怎么就精华帖了呀
雪    币: 284
活跃值: (287)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
渊之道 2020-4-13 16:32
8
0
linux系统记得把防火墙关了或者放过23946端口
雪    币: 213
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
菜鸟学IoT 2020-12-8 14:40
9
0
很不错的教学,可以在线看
雪    币: 7962
活跃值: (4238)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
sunsjw 1 2022-8-12 13:58
10
0
怎么和源码对应起来?
游客
登录 | 注册 方可回帖
返回