当其中一个寄存器包含某个字符串时,我需要Ollydbg暂停。我有办法做到这一点吗?
发布于 2011-09-03 19:20:48
我不太明白你的意思。你根本不能在寄存器中加载字符串:)你可以在加载数据上设置断点。例如,->你的值“祝你有美好的一天!”,在这个地址上设置一个BP。每次加载字符串时,Olly都会中断。否则我就听不懂你的问题了。
但这里仍然有一个小小的教程。
首先,我加载了我的pe文件,发现了一个字符串"GAMMA“,这是一个在线游戏的配置创建程序。
http://img7.imagebanana.com/img/hu6kg56k/findstr.png
现在让我们在垃圾堆中找到它。双击引用中的"GAMMA“,现在我们在disasm窗口中,双击PUSH或follow in dump部分和goto字符串表达式。选择您的字符串并设置如下所示的硬件基点。
http://img7.imagebanana.com/img/pejyx72i/bp.png
点击F9或Olly顶部的play按钮,我们将在加载字符串的第一个点中断。当然,如果你想找到一个特定的地方,你必须一步一步地走,直到你找到你的点。
http://img6.imagebanana.com/img/f7w15fr6/hwbp1.png
编辑:
您可以使用F7跟踪代码,以查看何时从堆栈调用字符串。
发布于 2010-10-10 00:21:45
您使用的是什么版本的OllyDbg?
你试过2.0版了吗?它有一些条件检查,这可能会对你有所帮助(尽管我不确定OllyDbg是否可以查看特定的寄存器)。
Trace -> Set condition...
发布于 2012-07-31 14:56:47
试试OllyStepNSearch
它为您提供了一种简单的方法,可以在其中一个寄存器具有特定字符串时停止调试
https://stackoverflow.com/questions/1874981
复制相似问题