虽然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中加上要观察的寄存器就可以了,这篇教程主要是为了能让大家到达调试的那一步