恶意二进制文件调试指南
1. 调试执行控制功能
在调试过程中,有一些常用的执行控制功能,能帮助我们更好地控制程序的执行流程。
- 执行到返回(Execute till Return) :此选项可让程序执行当前函数内的所有指令,直至函数返回。当你不小心进入一个不感兴趣的函数,或者想从当前函数中退出时,这个功能就非常有用。使用该选项后,程序会执行到函数末尾(ret 或 retn 指令),之后你可以使用“单步进入”或“单步跳过”选项返回调用函数。
- 运行到光标位置(Run to cursor) :该功能允许程序执行指令,直到到达当前光标位置,或者到达所选的指令处。
2. 断点中断程序
断点是调试器的一个重要特性,它能让你在程序中的特定位置中断程序执行。你可以在程序的不同位置设置多个断点,当程序执行到任何一个断点时,执行就会被中断。此时,你可以监控和修改进程的各个方面。常见的断点类型如下:
| 断点类型 | 实现方式 | 优点 | 缺点 |
| ---- | ---- | ---- | ---- |
| 软件断点 | 默认情况下,调试器使用软件断点,通过将断点地址处的指令替换为软件断点指令(如 int 3 指令,操作码为 0xCC)来实现。当执行到软件断点指令时,控制权会转移到调试器。 | 可以设置无限数量的断点。 | 恶意软件可能会查找断点指令(int 3)并修改它,从而改变附加调试器的正常操作。 |
| 硬件断点 | CPU(如 x86)通过使用 CPU 的调试寄存器 DR0 - DR7 支持硬件断点。最多可以使用 DR0 - DR3 设置四个
超级会员免费看
订阅专栏 解锁全文
961

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



