OllyDbg 2.01 - 查找引用静态字符串的命令

Ely*_*Ely 7 debugging ollydbg

我最近在OllyDbg 2.01的帮助下进行了破解和逆向工程,破解了可执行文件.

所以在这个特殊的crackme中,我正在滚动命令并注意到一个带有ASCII字符串"&File"的PUSH(它是一个菜单字符串):

1

所以我想:"如果我只需滚动即可找到这些信息,肯定必须有一种自动方式来查找引用特定字符串的命令".

所以我到达程序的顶部,点击CTRL + B并搜索ASCII"文件"以希望再次找到它:

2

点击OK后,OllyDbg找不到早期的PUSH.相反,我明白了:

3

嗯..好吧,那不是我的预期,但让我们看看那里有什么.所以我右键单击=>跟随转储,我得到这个:

4

所以是的,我们在转储中找到了我们的字符串.但是,我还没有找到原来的PUSH.您还可以注意到字符串的地址与PUSH的参数(40512C)相同.

作为最后一次尝试,我右键单击地址40512C处的字母,选择"查找参考",但不是:没有找到参考.

所以TL; DR问题:如何自动查找引用字符串的命令?因为很明显我每次想要找到一个字符串时都不会滚动整个命令堆栈.

PS:字符串也不出现在"引用的文本字符串"中.

在此先感谢您的帮助.

编辑:好的,所以我找到了解决方案.我搜索了代码"2C 51 40 00",这是向后的地址,我又找到了我的PUSH.这有点hacky,欢迎任何拥有更高效解决方案的人分享.

Dom*_*tal 4

因此,有多种方法可以做到这一点。我更喜欢的是以下内容: Ctrl+G并转到转储中的字符串。(0x0040512C) 选择第一个字节并点击Ctrl+R。这将为您提供引用特定字符串的列表。您还可以在字符串“&”的第一个字节上放置一个硬件断点,然后每次访问它时都会中断。您还可以搜索常量(地址或 ASCII 字符本身)。

顺便说一句,有一个专门用于逆向工程的子网站:)