目前已经介绍了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 菜单中,能够查看所有的程序断点:
点击任一断点就能跳转到具体位置。
运行程序
现在可以通过菜单 DEBUGGER-START PROCESS 来运行调试器:
如果在本地调试可执行程序将会弹出这个警告窗口。
在加载器分析程序的时候,程序不会在本地执行,但是调试则不是。如果程序是一个病毒或者其他危险的恶意软件时,需要特别的当心。这时候需要使用远程调试器(REMOTE DEBUGGER)在虚拟机中执行程序。这将在后续章节进行介绍。
CRUHEAD’s crackme 这个程序是安全的,按 YES 继续。
由于设置调试在程序入口暂停,确实起作用了,停在 0x401000 这个地址。按空格键可以切换到图形模式,就和使用加载器一样:
IDA

最低0.47元/天 解锁文章
898

被折叠的 条评论
为什么被折叠?



