type
TDelphiSignature=record
Signature:array [0..3] of LongWord;
Version:string;
end;
const
DelphiSignature:array [0..2] of TDelphiSignature=(
(Signature:($384F3D26,$B83782C2,$034224F3,$833A9B17);Version:'Delphi Entreprise'),
(Signature:($235D7823,$19F3A5B6,$0240F343,$C711D126);Version:'Delphi Perso'),
(Signature:($98DF8CA2,$793A3C7B,$093F7126,$17252A0F);Version:'Delphi Pro')
// ...
);
以上是在 DVCLAL
资源中 Delphi 编译的 EXE 文件中找到的版本签名。我正在寻找其他签名,例如 Architect 版本的签名,更重要的是,寻找资源数据中可见的版本号(6、7、8 ...)。
最佳答案
RAD Studio 2010 Architect 生成的签名与您为 Enterprise 生成的签名相同。 DVCLAL 资源仅告诉您所使用的 Delphi/BCB 的特定版本。单独的 Delphi/BCB 编译器版本号不会存储或编码在已编译的可执行文件中的任何位置。
更新:我发现这是有关 DVCLAL 资源内部工作的一些有用信息:
https://assarbad.net/stuff/miscprogs.zip
(在 \MiscProgs\DVCAL\JeremyRES.html
文件中)
https://web.archive.org/web/20190107185701/https://wiert.files.wordpress.com/2020/11/miscprogs.zip
关于exe文件中的Delphi签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3357485/