检测用于 EXE 文件的编译器

Rem*_*igo 21 compile

有没有办法检测(或隐藏)用于构建可执行文件的编译器?

Sat*_*hat 13

PEiD还不错

PEiD 检测最常见的 PE 文件加壳器、加密器和编译器。它目前可以检测 PE 文件中的 600 多种不同的签名。

与已经存在的其他标识符相比,PEiD 在某些方面是特殊的!

  1. 它有一个极好的图形用户界面,界面非常直观和简单。
  2. 检测率是任何其他标识符中最好的。
  3. 用于高级检测修改和未知文件的特殊扫描模式。
  4. Shell 集成、命令行支持、始终在顶部和拖放功能。
  5. 使用递归进行多文件和目录扫描。
  6. 任务查看器和控制器。
  7. 带有 Generic OEP Finder 和 Krypto ANALyzer 等插件的插件接口。
  8. 用于更好检测的额外扫描技术。
  9. 启发式扫描选项。
  10. 新的 PE 详细信息、导入、导出和 TLS 查看器
  11. 新的内置快速拆卸器。
  12. 新的内置十六进制查看器。
  13. 外部签名接口,可由用户更新。

  • “PEiD 检测最常见的 [...] PE 文件编译器。” 这就是自述文件所说的 - 实际上它没有说明如何实现 (4认同)

Dav*_*llo 11

试试 *nix 实用程序字符串。使用strings -a foo.exe 应该会产生一堆结果。重定向到文件并在您喜欢的编辑器中检查。您可能会看到直接暗示特定编译器的一行,例如Borland C++ - 版权所有 2002 Borland Corporation。您可能只能找到暗示使用了特定编译器的行,例如包含路径或其他任何内容。

字符串也可作为cygwin 的一部分或作为microsoft sysinternals 包的一部分用于 windows 。


Ada*_*ter 7

当提出这个问题时,PEiD 仅仅过时了几年。

如今,您最好使用 Detect It Easy:https://github.com/horsicq/DIE-engine/releaseshttps://horsicq.github.io/#detect-it-easydie

Detect It Easy 显示对使用 MSVC 编译的curl.exe 的检测

Detect It Easy 显示对使用 MinGW GCC 编译的 ffmpeg.exe 的检测