我正在尝试在 OllyDBG 中设置断点,我找到了我希望中断的地址,我按 F2 以设置断点。
但是,当程序运行代码时,它不会中断。我对 OllyDBG 不是很熟悉,也不知道它在多线程应用程序上是如何工作的。
1)如果新线程打开执行带断点的指令集,它还会断吗?
2)我还可以检查什么才能让它坏掉?
我之前使用过 OllyDBG,从来没有遇到过让它崩溃的问题,所以我不确定发生了什么变化。
我正在尝试在 OllyDBG 中设置断点,我找到了我希望中断的地址,我按 F2 以设置断点。
但是,当程序运行代码时,它不会中断。我对 OllyDBG 不是很熟悉,也不知道它在多线程应用程序上是如何工作的。
1)如果新线程打开执行带断点的指令集,它还会断吗?
2)我还可以检查什么才能让它坏掉?
我之前使用过 OllyDBG,从来没有遇到过让它崩溃的问题,所以我不确定发生了什么变化。
是的
目标程序从未实际执行该指令(可能),或者目标程序正在使用反调试代码禁用断点(不太可能)。对于前者,重新评估您对执行哪些代码的假设;对于后者,尝试不同类型的断点(软件、硬件和内存)。
如果程序不使用反调试技术,则可以调试多线程应用程序,因此您可以逐步运行代码。当然,您可以帮助“命中跟踪”,简而言之,在迄今为止尚未跟踪的所有分支上设置 INT3 断点。你可以看到这个https://www.youtube.com/watch?v=jtteWZhD8l8,它使用OllySnake插件
问题是您放置断点的地址不会被执行(或)您不会将断点放置在指令地址的开头(如果将其放置在中间,BP 将不起作用指令)