IDA动态调试

IDA动调有图形化界面,做逆向的时候学会了windows的,在回顾动态链接的延迟绑定的时候又尝试了用IDA远程动调elf文件

目前了解到IDA动态调试可以通过附加到一个已经运行的进程上,从而开始调试,也可以启动新进程来调试

指令

F9继续运行,F7步入,F8步过,F2下断点

通过Debugger-Breakpoints-Breakpoint list或者Ctrl+Alt+B来查看已经下的断点

通过Debugger-Debugger windows-Stack trace或者Ctrl+Alt+S查看是谁调用了当前的函数

下断点

IDA中下断点要启动源码级调试,否则断点无效

1

也可以在Debugger中找到

1

动调elf:

动调elf是利用IDA自己提供的调试服务器,如 linux_server 或 linux_server64 ,这些服务器可以在目标机器上运行,并通过特定端口与 IDA 客户端通信,通过远程调试。

首先要打开安装IDA的目录在/dbgsrv中找到linux_server和linux_sever32两个文件,将其复制到装有linux系统的虚拟机中

1

在虚拟机中运行对应版本的程序(如果调试的是64位的就启动linux_server,32位就启动linux_server32)

1

留意这里的IP和端口号

接下来切换到IDA中

打开Debugger中的process options配置调试器

1

1

要填写对应的

1
2
3
4
5
Application:远程计算机上需要调试的 ELF 程序的名称
Input file:远程计算机上程序需要读取的输入文件的名称
Directory:远程计算机上程序运行的目录
Hostname:IP
Port:端口

然后确定,就可以启动调试器了,下断点就点对应代码行左侧即可

其他功能还在学习中

动调exe

使用本地调试比较简单,直接选择调试器为Local Windows debugger,启动即可

1