向IDA添加动态分析
除了作为一个反汇编器,IDA还是一个功能强大的通用调试器。它支持多个调试目标,并可以通过“远程调试服务器”来处理远程应用程序。
概览
在IDA原生运行的三个平台(即Windows、Linux、Mac OS X)上调试文件是很直接的,由于远程调试服务器的强大功能,可以在任何平台上实现对任何可执行文件的调试!
看看我们做得多轻松:
好了! 如何的简单:从任何地方,你可以调试任何东西。
你可以坐在Mac OS X机器上,在另一台机器上调试Windows程序–甚至在虚拟机中调试(实际上我们就是这样启用内核调试的。请看下面的细节!)
当然,这只是一个概述。在下面,你会发现一个详细的表格,描述了支持的具体内容,以及一些额外的说明。
跨平台调试功能强大!
IDA的跨平台调试具有这些特点:
- 即时调试,无需等待分析完成后再开始调试会话。
- 轻松连接到本地和远程进程。
- 支持64位系统和新的连接可能性。
详细的调试能力
下面从其他平台出发,详细介绍一下具体平台的调试方法。
IDA在Windows上运行 |
IDA在Linux上运行 |
IDA在Mac OS X上运行 |
补充注释 | |
---|---|---|---|---|
目标平台: Windows 32/64位 |
本地/远程 | 远程 | 远程 | 在32位Windows平台上,仅远程。 |
目标平台: Linux 32/64位 |
远程 | 本地/远程 | 远程 |
在32位Linux平台上,仅远程。 支持的平台:x86 / x64 / ARM32 Linux / ARM Android |
目标平台: OS X x86/x64 |
远程 | 远程 | 本地/远程 | 在32位Mac OS X平台上,仅远程。 |
目标平台: iOS (iPhone与iPad) |
远程 | 远程 | 远程 | 通过Apple的debugserver支持iOS> = 9.0和iPadOS> = 13.1上的远程调试应用程序 |
目标平台: XNU ![]() |
远程 | 远程 | 远程 | 达尔文内核调试器。 通过内置的VMware Fusion gdb存根支持OSX内核模式调试(还支持EFI固件调试)。 通过Corellium和ktrw支持iOS内核模式调试。 |
目标平台: Bochs |
Bochs模拟器 | Bochs模拟器 | Bochs模拟器 | |
目标平台: GDB服务器 |
GDB服务器 | GDB服务器 | GDB服务器 |
基于GDB服务器的调试器。 对于通过VMWare进行Windows或Linux内核调试,甚至基于QEMU的调试,特别有用。
目前(IDA 7.4)支持的处理器:x86/x64、ARM/AArch64、PowerPC、MIPS、Motorola 68k、Infineon TriCore和Renesas RH850。 |
目标平台: WinDBG 32/64位 |
远程 | / | / | 用户模式和内核模式调试均可用。 也支持64位调试。 查看帮助页面。 |
目标平台: Intel PIN ![]() |
本地 | 本地 | / | 基于Intel PIN。 对于跟踪特别有用,但也可以用作常规调试器。 |
目标平台: Android (Dalvik) |
远程 | 远程 | 远程 | DEX字节码和源代码级调试均可用。 请注意,我们的Linux调试器也可以处理本机代码。 |
注释
- 所有调试器均可编写脚本。 有关更多信息,请访问此页面
- 可以在此处获得远程调试教程。
- iPhone v1.x调试器在IDA v5.6中已终止
- 从IDA v5.7开始,可以在Linux和Mac OS X下使用Bochs调试器