我正在寻找一个类似于这个问题中的答案,但是针对WinRAR而不是7zip。本质上,我想要一种权威签名,至少可以说“所有使用版本420中的默认SFX文件创建的WinRAR生成的自解压可执行文件,在位置0x00027400处将具有字节0x15、0xa1、0x45、0xcc、0x21、0x98,其他非SFX文件不太可能具有此签名”。更好的是,如果相同的签名可以在所有版本的WinRAR SFX文件中找到,即使它们位于不同的位置也可以。
由于SFX的工作性质,它们将非常相似,除了文件的存档部分,但有些字符串会成为较差的标识符(例如,“此程序无法在DOS模式下运行”存在于每个SFX中,但它也存在于大多数其他Windows可执行文件中)
目前,我确定签名的方法是查看各种版本的WinRAR SFX,并查找所有文件都具有共同点的4或6个字节序列。不幸的是,这样的序列很多,很难选择一个。
RAR.SFX
从字节83131开始。不确定普通RAR文件是否也是如此。 - Aleksei Zabrodskii