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

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

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

ida动态调试elf(无坑详细)_第1张图片

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

ida动态调试elf(无坑详细)_第2张图片

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

ida动态调试elf(无坑详细)_第3张图片

这里要注意

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

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

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

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

比如这里/home/lql/mywork/other是调试程序存放的路径,WxyVM1是我们要调试的程序名,

Directory设置为存放路径就可以了

第二个地方,hostname要设置为linuxip地址,一开始我设置成localhost一直报错,说目标机器积极拒绝·······

端口号默认即可,密码你没有特意设置也默认为空,上面的那个Parameters空着就好


 ida动态调试elf(无坑详细)_第4张图片





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

ida动态调试elf(无坑详细)_第5张图片

ida动态调试elf(无坑详细)_第6张图片


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

你可能感兴趣的:(逆向)