为什么用十六进制编辑器或简单的静态分析工具打开PE时可以看到某些字符串,但不能用IDA打开?

逆向工程 艾达 字符串
2021-06-17 21:09:23

我使用VirusTotal“搜索”功能找到了有问题的可执行文件,可以Yara为 VT 数据库中存在的文件运行规则并匹配字符串。我下载了这个文件,打开它,PEStudio结果发现它包含很多作为电子邮件地址的字符串,其中之一是我在 VT 中查找的字符串: 在此处输入图片说明

请注意,提取的字符串数量相当多。

但是,当我在 中打开可执行文件时IDA,没有找到这些电子邮件字符串。字符串的数量也少得多。但是,我发现,例如,这些字符串: 在此处输入图片说明

这是否可能意味着电子邮件不是来自预先存在的列表而是由可执行文件生成的?

此外,我注意到PEStudio's 字符串列表中的一些文本文件名,但在IDA's 列表中也找不到它们IDA's 和PEStudio(和类似工具')字符串提取之间有什么区别吗?

1个回答

正如评论中所确认的,这些字符串出现在可执行文件的资源部分中。

看这张图(取自相关的IDA Pro 无法查看文件的一部分,我可以看到存在 WinHEX并调整以突出显示此选项):

这是点击的选项

默认情况下它可能是禁用的,因为它们对反汇编过程并不重要,而且它们可能非常大。因此,这仅在您解释使用资源的反汇编部分时(略微)有用

由于 Ida PRO 不解析常见的资源格式,因此它可能无法在其“字符串”窗口中显示您的字符串,并且始终将它们列为原始数据。因此,您可能更喜欢使用外部资源查看器。