Ollydbg条件

时间:2009-12-09 16:15:18

标签: debugging ollydbg

当其中一个寄存器包含某个字符串时,我需要暂停Ollydbg。我能以任何方式完成这项工作吗?

4 个答案:

答案 0 :(得分:3)

我不明白你。您根本无法在寄存器中加载字符串:)您可以在加载数据上设置断点。例如 - >你的价值“祝你有个美好的一天!”,在这个地址上设置一个BP。每次加载字符串时,Olly都会中断。否则,我无法理解你的问题。

但仍然是一个小教程。

首先我加载了我的pe文件,发现了一个字符串“GAMMA”,它是一个在线游戏的配置创建程序。

http://img7.imagebanana.com/img/hu6kg56k/findstr.png

现在让我们在转储中找到它。双击引用中的“GAMMA”,现在我们是disasm窗口,双击PUSH或跟随转储部分和转到字符串表达式。选择您的字符串并设置如下的硬件包。

http://img7.imagebanana.com/img/pejyx72i/bp.png

点击F9或Olly顶部的播放按钮,我们在加载字符串的第一个点处中断。当然,如果你想找到一个特定的地方,你必须再次步骤,然后再找到你的观点。

http://img6.imagebanana.com/img/f7w15fr6/hwbp1.png

编辑:

您可以使用F7跟踪代码,以查看何时从堆栈中调用字符串。

答案 1 :(得分:1)

您使用的是哪种版本的OllyDbg?
你试过2.0版吗?它有一些条件检查可以帮助你(虽然我不确定OllyDbg是否可以观看特定的注册)。

Trace -> Set condition...

答案 2 :(得分:1)

尝试OllyStepNSearch
它为您提供了一种简单的方法,可以在其中一个寄存器具有特定字符串时停止调试

答案 3 :(得分:0)

右键单击您的代码并选择

搜索>所有模间调用

查找RegQueryValueEx或RegCreateKeyEx函数。他们在Advapi32.dll

你应该知道哪个参数设置了要写的字符串。

看这里:https://msdn.microsoft.com/en-us/library/windows/desktop/ms724875%28v=vs.85%29.aspx