查找引用静态字符串的命令
我最近在OllyDbg 2.01和crackmes可执行文件的帮助下开始了破解和逆向工程。
所以在这个特别的问题中,我滚动浏览命令并注意到一个带有ASCII字符串“&File”的PUSH(它是一个菜单字符串):
所以我想:“如果我能通过简单的滚动来找到这些信息,当然必须有一种自动的方式来查找引用特定字符串的命令。”
所以我进入程序的顶部,按CTRL + B并搜索ASCII“File”,希望再次找到它:
击中OK后,OllyDbg找不到较早的PUSH。 相反,我得到这个:
嗯,好吧,这不是我所期望的,但让我们看看里面有什么。 所以我右键点击=>按照转储,我得到这个:
所以是的,我们在转储中找到了我们的字符串。 但是,我仍然没有找到我原来的推。 您还可以注意到该字符串的地址与PUSH的参数(40512C)相同。
作为最后一次尝试,我右键单击地址40512C处的字母,选择“查找引用”,但不输入:未找到引用。
所以TL; DR问题:我如何自动查找引用字符串的命令? 因为显然我不想每次找到一个字符串都要滚动整个命令堆栈。
PS:字符串也不出现在“引用文本字符串”中。
在此先感谢您的帮助。
编辑:好吧,所以我找到了解决方案。 我搜索了代码“2C 51 40 00”,这是后退的地址,我又找到了我的PUSH。 这有点冒失,欢迎任何拥有更高效解决方案的人分享。
所以,有多种方法可以做到这一点。 我更喜欢的是: Ctrl+G
并转到转储中的字符串。 (0x0040512C)选择第一个字节并按Ctrl+R
这会给你一个特定字符串被引用的列表。 您也可以在字符串“&”的第一个字节上放置一个硬件断点,然后每次访问它时都会中断。 你也可以搜索常量(地址或ascii字符本身)。
顺便说一下,有一个subsite专门为reverseengineering :)
链接地址: http://www.djcxy.com/p/80317.html