在做逆向题的时候,经常会用到动态调试,虽然win下有OD,Linux下有GDB,但是难免有时候还是会用到ida动态调试Linux下的文件,因此写一个教程。
本文转载自https://blog.csdn.net/abc_670/article/details/80066817
1.把ida中dbgsrv目录下的linux_server或者linux_serverx64放到linux中(根据自己要调试的程序选择哪个版本的),直接都放到Linux下吧。
2.使用命令,改变两个程序的权限,然后运行相应的程序。
1 | chmod 777 linux_server |
3.接下来在Windows下用ida打开需要调试的程序。选择上方的Debugger,然后选择remote Linux debugger。
4.然后再次点击debugger,一路点击OK。
接着修改相应的参数。
Application和input输入一样,为Linux下需要调试的elf文件的文件路径(包含文件)。
directory也是文件路径,只是不包含文件。
parameters空着。
Hostname为Linux的ip地址(Linux下ipconfig查看)。
password为Linux的登录密码,没有就不填。
如图所示:
切换到Linux上可以看到已经成功连接过去了。
接下来可以按照正常的操作在ida中下断点、运行等。
5.后面具体调试技巧我就不说了,F7,F8会用就能调了,然后在watch中加上要观察的寄存器就可以了,这篇教程主要是为了能让大家到达调试的那一步