有什么方法可以检测(或隐藏)用于构建可执行文件的编译器?
答案1
聚乙烯亚胺非常好
PEiD 可检测 PE 文件中最常见的打包程序、加密程序和编译器。它目前可检测 PE 文件中的 600 多种不同签名。
与现有的其他标识符相比,PEiD 在某些方面很特殊!
- 它具有极好的 GUI,界面非常直观和简单。
- 检测率是其他任何识别器中最好的。
- 特殊扫描模式先进的检测已修改和未知的文件。
- Shell 集成、命令行支持、始终在顶部和拖放功能。
- 使用递归进行多文件和目录扫描。
- 任务查看器和控制器。
- 插件接口,带有类似 Generic OEP Finder 和 Krypto ANALyzer 的插件。
- 使用额外的扫描技术来实现更好的检测。
- 启发式扫描选项。
- 新的 PE 详细信息、导入、导出和 TLS 查看器
- 全新内置快速拆卸器。
- 新内置的十六进制查看器。
- 外部签名接口,可由用户更新。
答案2
尝试 *nix 实用程序字符串。使用strings -a foo.exe
应该会产生一堆结果。重定向到一个文件并在您最喜欢的编辑器中检查。您可能会看到直接涉及特定编译器的一行,例如Borland C++ - 版权所有 2002 Borland 公司。您可能只能找到暗示使用了特定编译器的行,例如在包含路径或其他位置。
字符串也可用于 Windows,作为赛格威或作为microsoft sysinternals 包。
答案3
当提出这个问题时,PEiD 仅仅过时了几年。
现在,你最好使用 Detect It Easy:https://github.com/horsicq/DIE-engine/releases或者https://horsicq.github.io/#detect-it-easydie
答案4
虽然不免费,但 IDA Pro 具有非常好的编译器检测功能。当然这不是它的主要功能,但却是一个不错的附加功能。