CFF Explorer能够从 PE 文件中检测 VC 编译器版本。它为我的 exe 文件显示“Microsoft Visual C++ 8”,该文件静态链接到 libCMT(无 dll 依赖项)。
这是怎么做的?它必须回复我不知道的 PE 文件中的某些结构。
更新:
- CFF Explorer 可以为静态链接的 PE 文件获取正确的 VC 编译器版本(不依赖于 msvcmXX.dll、msvcpXX.dll 或 msvcrXX.dll)
- 即使我将PE可选标头中的LinkerVersion / ImageVersion / SubsytstemVersion / OperratingSystemVersion字段清零,CFF资源管理器仍然可以知道正确的VC编译器版本。
似乎 CFF 资源管理器正在使用一种非常可靠的方法来检测 VC 编译器版本。