出于某种原因,在使用“搜索所有引用字符串”进行搜索时,我找不到与程序的 MessageBox 文本匹配的任何字符串,这是为什么?
使用 ollydbg 查找消息框字符串
逆向工程
拆卸
ollydbg
2021-07-06 08:44:03
2个回答
有很多很多可能的原因:
- MessageBox 文本在使用之前可以从几个较短的片段中组合起来
- 文本可能隐藏在可执行文件的资源部分
- 文本可能会在运行时从资源文件中加载,这可能取决于 Windows 安装的语言
- 文本可能以不常见的格式存在于可执行文件中;例如,如果软件是先用中文编写,然后翻译成英文,则字符串可能是一些 UTF-16 甚至 UTF-32 格式,而不是更常见的 ASCII/UTF-8/ISO-8859-X 格式
- 应用程序可能是客户端/服务器应用程序,其中客户端从服务器检索文本,并且从不存储/生成它自己
- 文本可能在可执行文件中被故意混淆/加密,以防止使用 ollydbg 的人搜索它
- 还有更多现在没有想到的。
可能您找不到要查找的字符串,因为该可执行文件中的字符串已加密。
这是很常见的事情,这样做是为了让逆向工程师的生活更加艰难。
它可以是简单的加密,比如xor
-ing 字符串,或者一些更复杂的加密。
其它你可能感兴趣的问题