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

时间:2014-07-03 12:48:05

标签: debugging ollydbg

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

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

1

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

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

2

点击OK后,OllyDbg找不到早期的PUSH。相反,我得到了这个:

3

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

4

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

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

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

PS:字符串没有出现在"引用的文本字符串中"任

提前感谢您的帮助。

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

1 个答案:

答案 0 :(得分:4)

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

顺便提一下,有一个专门用于reverseengineering的子网站:)