本篇文章参考 “逆向界圣经”《加密与解密》(第四版)

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就可以动调了
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐