IDA远程动态调试(linux & Windows)
本篇文章参考 “逆向界圣经”《加密与解密》(第四版)ida作为强大的静态分析工具其实也兼具动态分析功能,我们下面给出教程。首先明确,我们要把我们的物理机作为调试器客户端,在其上运行的虚拟机作为目标文件的运行环境。其次我们还需要在虚拟机里面运行相应的调试服务器组件(处理所有底层执行和调试操作),调试服务器组件可以在ida安装目录下的dbgsrv文件中找到,不同系统需要选择不同的组件传到虚拟机中。接下
本篇文章参考 “逆向界圣经”《加密与解密》(第四版)
ida作为强大的静态分析工具其实也兼具动态分析功能,我们下面给出教程。
首先明确,我们要把我们的物理机作为调试器客户端,在其上运行的虚拟机作为目标文件的运行环境。
其次我们还需要在虚拟机里面运行相应的调试服务器组件(处理所有底层执行和调试操作),调试服务器组件可以在ida安装目录下的dbgsrv文件中找到,不同系统需要选择不同的组件传到虚拟机中。
接下来给出服务器组件接受的命令行参数:
- “-p端口”:用于设置备用TCP端口,以便服务器进行监听。默认端口是23946
- “-P密码”:用于设置客户端连接调试服务器必需的密码,防止未授权连接。
- “-v”:将服务器置于详细模式。
linux(Ubuntu)
将linux_server64(如果是虚拟机是32位系统就用inux_server)和待调试的文件(main)传到linux虚拟机中,放在/home目录下。
先在当前目录下进入terminal命令行输入如下指令赋予两个文件权限,
chmod + x linux_server64
chmod +x 你的待调试文件名
接下来输入如下指令运行调试服务器组件,我这里设置了连接密码,强烈建议设置一下。
./ linux_server64 -P123456
根据你待调试的目标文件字长选择相应的ida(我的是64位elf文件,所以选择ida64),然后依据以下图片所示配置我们的ida。
【注意:所有的设置都是基于远程服务端的路径和ip地址,不是物理机的】
另外,关于如何获取linux的ip地址可以在服务端的终端输入
ifconfig
以我的为例:
设置完点击ok,接下来便可以远程动态调试了。
Windows
将win64_remote64.exe(如果是虚拟机是32位系统就用win32_remote.exe)和待测试的文件(以main.exe为例)传到windows虚拟机中,不限定存放位置。
我这边是在D盘根目录下新建了一个IDA_remote文件夹用来作为存放位置。
在当前目录下用cmd执行调试服务器组件,如下:
根据你待调试的目标文件字长选择相应的ida(我的是64位elf文件,所以选择ida64)
然后依据以下图片里的提示(这里直接用linux平台的样图了,不碍事)配置我们的ida。
以我的为例:
点ok就可以动调了
更多推荐
所有评论(0)