记录一次用IDA远程调试EIF

首先将windows下IDA的文件下dbgsrv子目录下的linux_server或者liunux_server64(根据你要调试的ELF文件是32还是64位的,其实最好两个都拖进去)拖进linux。

记录一次用IDA远程调试EIF_第1张图片
image.png

进入linux里将这两个文件的权限提高
chmod +x linux_server
chmod +x linux_server64

把需要调试的ELF文件与linux_server放在同意目录下。然后根据ELF文件执行linux_server或者linux_server64,这是linux等待连接状态。
./linux_server

接下来再Windows打开IDA,Debugger->Run->Remote Linux debugger 。
第一个框填ELF在linux里面的位置,第二个框填ELF在linux里所在文件夹,第四个框填写linux的IP地址。端口默认就好,点击OK。


记录一次用IDA远程调试EIF_第2张图片
image.png

这样就远程连接成功了,接下来看windows的IDA就可以动态调试了。命令和OD差不多,F7单步进入,F8单步步过,F2下断点……最重要的是可以用F5查看伪C代码,爽歪歪。然后更改一些跳转等等。。。


记录一次用IDA远程调试EIF_第3张图片
image.png

simple-check-100 为例

用远程连接好了之后,F5主函数,在check_key()处下断点,F2或者直接在行数前单击即可。


记录一次用IDA远程调试EIF_第4张图片
image.png

点击debugger—>start process 运行,Linux里提示输入字符,随便输入111。


记录一次用IDA远程调试EIF_第5张图片
image.png

查看汇编代码发现关键跳转,F8单步到此处,发现下一步会跳转到错误提示并退出程序。
记录一次用IDA远程调试EIF_第6张图片
image.png

所以我们改汇编代码为 jnz 就不会跳转了。Edit—>Patch program —>Assemble。把jz 改为 jnz 。


记录一次用IDA远程调试EIF_第7张图片
image.png

继续F8单步往下走。经过sub_80483D0后flag已经在linux里打印出来了。
记录一次用IDA远程调试EIF_第8张图片
image.png
记录一次用IDA远程调试EIF_第9张图片
image.png

嘿嘿嘿 ,这个动态调试太好用了 ,第一次用,舒服舒服。都不用分析头痛的逻辑代码。

你可能感兴趣的:(记录一次用IDA远程调试EIF)