我正在寻找与此问题中的答案类似的答案,但使用的是 WinRAR 而不是 7zip。本质上,我想要一个权威的签名,我至少可以说“所有 WinRAR 生成的自解压可执行文件在版本 420 中使用默认 SFX 文件创建,在位置 0x00027400 和其他非SFX 文件不太可能有这个签名”。更好的是,如果可以在所有版本的 WinRAR SFX 文件中找到相同的签名,即使它们位于不同的位置。
就 SFX 的工作方式而言,它们非常相似,除了文件的存档部分,但有些字符串的标识符很差(例如,“这个程序不能在 DOS 模式下运行”出现在每个 SFX 中,但它恰好也存在于大多数其他 Windows 可执行文件中)
目前我确定签名的方法是查看不同版本的 WinRAR SFX,并找到所有文件共有的 4 或 6 字节序列。不幸的是,其中有很多,因此很难选择一个。