因此,我试图反向程序,但无法通过搜索“引用的字符串”或“二进制字符串”找到任何字符串,我是OllyDBG的新手,对此我不太了解,这是为什么这让我发疯。我想知道然后如何或在哪里可以找到字符串,或者是否有另一种方法可以找到我可以开始的给定装配线。

已经感谢您了:)

编辑:如果您需要更多信息,请询问,我会提供。

评论

我知道此线程很旧,但是万一这可以帮助某人:我是新手,自己进行逆向工程,但是当我在调试的程序中找不到有用的字符串时,我最近学到了一件事(由于加密或其他原因)其他保护形式)是查看程序正在调用的外部函数的名称。某些功能特别有趣,可以为反转代码提供一个很好的起点。 “搜索→所有模间调用”

#1 楼

OllyDbg不太擅长查找“引用的字符串”。

我建议您执行以下操作:


使用十六进制编辑器搜索给定的字符串
,如果您在十六进制编辑器中找到了静态字符串,则在IDA中反汇编二进制文件,转到IDA中的字符串地址,并查看IDA是否找到了对以下内容的静态交叉引用该字符串。而且,如果IDA找不到对该字符串的任何静态交叉引用,请使用OllyDbg在该字符串的第一个字节上设置硬件读取断点,以在运行时查找引用该字符串的代码。


#2 楼

您的程序已打包或字符串已加密。由于字符串可能是逆向工程的起点,因此某些程序将加密的字符串存储为二进制文件,并且仅在启动时或使用前解密它们。

两种方法中,最简单的检查方法是附加调试器到正在运行的应用程序,然后尝试在主程序模块中“搜索→所有引用的文本字符串”。