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中加上要观察的寄存器就可以了,这篇教程主要是为了能让大家到达调试的那一步
专业的帖子,感谢分享 Net丶S 发表于 2018-4-26 11:45
楼主,我有个问题,我这样调试sshd的文件,发现开始调试之后debug界面一闪而过,我感觉是因为sshd直接允许 ...
对sshd不是很了解,如果能调试的话应该不会一闪而过啊,应该是停在你下的断点出呀,抱歉没帮上忙{:301_1009:} 感谢共享思路,多谢 感谢 我调试一个软件 出现这样的问题 能帮忙说下是什么原因? ctw507 发表于 2018-4-24 18:08
感谢 我调试一个软件 出现这样的问题 能帮忙说下是什么原因?
你是attach process么,换start process试试,我之前也遇到过 attach没有权限应该用Root身份启动调试器 ctw507 发表于 2018-4-24 18:08
感谢 我调试一个软件 出现这样的问题 能帮忙说下是什么原因?
试试调整下调试文件的权限,chmod 777 文件名
感谢共享思路 感谢共享思路{:1_921:} 很好的基础教程,学习了 {:1_893:}