使用 ollydbg 查找消息框字符串

逆向工程 拆卸 ollydbg
2021-07-06 08:44:03

出于某种原因,在使用“搜索所有引用字符串”进行搜索时,我找不到与程序的 MessageBox 文本匹配的任何字符串,这是为什么?

2个回答

有很多很多可能的原因:

  • MessageBox 文本在使用之前可以从几个较短的片段中组合起来
  • 文本可能隐藏在可执行文件的资源部分
  • 文本可能会在运行时从资源文件中加载,这可能取决于 Windows 安装的语言
  • 文本可能以不常见的格式存在于可执行文件中;例如,如果软件是先用中文编写,然后翻译成英文,则字符串可能是一些 UTF-16 甚至 UTF-32 格式,而不是更常见的 ASCII/UTF-8/ISO-8859-X 格式
  • 应用程序可能是客户端/服务器应用程序,其中客户端从服务器检索文本,并且从不存储/生成它自己
  • 文本可能在可执行文件中被故意混淆/加密,以防止使用 ollydbg 的人搜索它
  • 还有更多现在没有想到的。

可能您找不到要查找的字符串,因为该可执行文件中的字符串已加密。

这是很常见的事情,这样做是为了让逆向工程师的生活更加艰难。

它可以是简单的加密,比如xor-ing 字符串,或者一些更复杂的加密。