我正在对损坏的 PE 文件进行一些研究,我想听听您对它们的想法和经验。我一直在处理大量样本,这些样本本质上是损坏的 Windows 可移植可执行文件。它们不会在 XP 或 Windows 7 上运行,也不会在 32 位或 64 位上运行。如果我在十六进制编辑器中打开它们,很明显它们丢失了整个头数据结构,MZ 和周围的数据丢失或更改等......当我尝试执行这些 .exe 文件时,我会遇到错误“这不是有效的 Windows 可执行文件”和/或“此可执行文件无法在此系统上运行,它可能是为 64 位设计的,而您是 32 位的,反之亦然”。不是逐字逐句的,但这是总体思路。基本上,我根本无法让这些运行或操作。所以问题是,它们为什么存在?它们是否可能与其他文件打包在一起,在运行时修复这些文件,然后将它们作为一种“混淆库文件”加载到内存中?我觉得这是一个不太可能发生的情况。
另一种可能性是,也许这些文件是为旧版本的 Windows 制作的?不过,我对 PE 文件格式进行了一些深入研究,但不知道以前有任何带有更改的标头等的 PE 格式。
最后,我能够在一堆二进制数据中找到比正常更远的“PE”:
这只是一个例子,但这就是我正在谈论的事情。


