【发布时间】:2014-03-06 04:37:16
【问题描述】:
给定一个从 C 编译并在 Solaris 上运行的可执行文件,是否可以确定使用哪个编译器来编译相关的不完整的可执行文件?
在使用字符串或文件命令时,我什么都看不到,而且魔法似乎不包含任何具体内容。
编译器通常会在其可执行输出文件中添加指纹吗?
干杯,
【问题讨论】:
-
好问题。我认为存在差异(即使在版本和编译器设置之间),但检测编译器并非易事。
-
有趣的问题。你在想什么操作系统?
-
这还取决于您必须使用多少。例如 gcc 创建的 o 文件与 cc 不同。如果您有静态程序或动态可加载程序,您还可以查看使用了哪些库。换句话说,你的指纹是逻辑而不是字符串。
标签: compiler-construction identification