当其中一个寄存器包含某个字符串时,我需要 Ollydbg 暂停。有什么办法可以实现这一点吗?
最佳答案
我不太明白你的意思。您根本无法将字符串加载到寄存器中:) 您可以在加载数据上设置断点。例如->你的值“祝你有美好的一天!”,在这个地址上设置一个BP。每次加载字符串时,Olly 都会断裂。否则我无法理解你的问题。
但这里还有一个小教程。
首先,我加载了我的pe文件,发现了一个字符串“GAMMA”,它是一个在线游戏的配置创建程序。
http://img7.imagebanana.com/img/hu6kg56k/findstr.png
现在让我们在转储中找到它。双击引用文献中的“GAMMA”,现在我们是 disasm 窗口,双击 PUSH 或跟随转储部分并转到字符串表达式。选择您的字符串并设置硬件bp,如下所示。
http://img7.imagebanana.com/img/pejyx72i/bp.png
按 F9 或 Olly 顶部的播放按钮,我们会在加载字符串的第一个点处中断。当然,如果你想找到一个特定的地方,你就必须一步一步地一步一步,直到找到你的目标。
http://img6.imagebanana.com/img/f7w15fr6/hwbp1.png
编辑:
您可以使用 F7 跟踪代码以查看何时从堆栈调用该字符串。
关于debugging - Ollydbg条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1874981/