目前已经介绍了IDA加载器的一些内容,后面也还会接着讨论。本章再介绍调试器的一些内容。
IDA 支持多个调试器。
首先加载初始没有打过补丁的 CRUEHEAD’s crackme 程序,如果现在路径下有已修改程序的数据库或者说 idb 文件,当 IDA 提示时,选择创建新的数据库并覆盖已有数据库(OVERWRITE),开始重新分析。
不要勾选 MANUAL LOAD,直接打开 IDA 即可,打开之后,选择调试器:


我们选择 LOCAL WINDOWS DEBUGGER 作为多种调试器的开始,后续章节也会介绍其他调试器。
打开菜单 DEBUGGERS–DEBUGGERS OPTIONS ,是调试器的一些选项:

勾选 SUSPEND ON PROCESS ENTRY POINT,调试开始后会在程序入口(entrypoint)暂停下来。
跟之前静态分析章节一样,对关键判断的代码块做一些重命名以及涂色,在 0x401243 这个跳转指令上设置断点(BREAKPOINT),按 F2 即可:

然后,再另一处 0x40138B 也加上断点:

在 DEBUGGER-BREAKPOINTS-BREAKPOINT LIST 菜单中,能够查看所有的程序断点:

点击任一断点就能跳转到具体位置。