小白670 发表于 2018-4-24 17:19

ida动态调试elf(无坑详细)

本帖最后由 小白670 于 2018-4-24 18:53 编辑

虽然linux下有gdb,radare2等神器,但有时候难免有用到ida动态调试linux下文件的时候,这次自己按照网上教程来但是踩了无数坑,所以打算自己写一篇教程


1.把ida中dbgsrv目录下的linux_server或者linux_serverx64放到linux中(根据自己要调试的程序选择哪个版本的)





2.chmod a+x linux_serverx64改变属性,然后运行 linux_serverx64


   



3. 首先选择Romote Linux debugger,然后在process option中设置相关相关参数






这里要注意
很多失败的原因都是因为这个参数没设置好
很多失败的原因都是因为这个参数没设置好
很多失败的原因都是因为这个参数没设置好


重要的事说三遍,Application和Input file的路径为linux中要调试程序的路径,包括程序,


比如这里/home/lql/mywork/other是调试程序存放的路径,WxyVM1是我们要调试的程序名,Directory设置为存放路径就可以了
第二个地方,hostname要设置为linux的ip地址,一开始我设置成localhost一直报错,说目标机器积极拒绝······
端口号默认即可,密码你没有特意设置也默认为空,上面的那个Parameters空着就好






4. 到这一步可以说是快成功了,首先在ida中下断点,然后点start process,程序运行,在linux中就可以看到程序启动了(注意这里不是attach process,选择attach process会报错时候程序是在终端运行或者你没有权限)








5.后面具体调试技巧我就不说了,F7,F8会用就能调了,然后在watch中加上要观察的寄存器就可以了,这篇教程主要是为了能让大家到达调试的那一步

shagua 发表于 2018-4-24 18:26

专业的帖子,感谢分享

小白670 发表于 2018-4-26 19:12

Net丶S 发表于 2018-4-26 11:45
楼主,我有个问题,我这样调试sshd的文件,发现开始调试之后debug界面一闪而过,我感觉是因为sshd直接允许 ...

对sshd不是很了解,如果能调试的话应该不会一闪而过啊,应该是停在你下的断点出呀,抱歉没帮上忙{:301_1009:}

yikuaidao 发表于 2018-4-24 17:45

感谢共享思路,多谢

ctw507 发表于 2018-4-24 18:08

感谢 我调试一个软件 出现这样的问题 能帮忙说下是什么原因?

小白670 发表于 2018-4-24 18:54

ctw507 发表于 2018-4-24 18:08
感谢 我调试一个软件 出现这样的问题 能帮忙说下是什么原因?

你是attach process么,换start process试试,我之前也遇到过

hlrlqy 发表于 2018-4-24 19:13

attach没有权限应该用Root身份启动调试器

灰灰。 发表于 2018-4-24 21:10

ctw507 发表于 2018-4-24 18:08
感谢 我调试一个软件 出现这样的问题 能帮忙说下是什么原因?

试试调整下调试文件的权限,chmod 777 文件名

A00 发表于 2018-4-24 21:28


感谢共享思路

kanxue2018 发表于 2018-4-25 00:26

感谢共享思路{:1_921:}

evill 发表于 2018-4-25 08:42

很好的基础教程,学习了 {:1_893:}
页: [1] 2 3
查看完整版本: ida动态调试elf(无坑详细)