CFF Explorerは、PEファイルからVCコンパイラのバージョンを検出できます。libCMTに静的にリンクされている(dll依存関係なし)exeファイルの「MicrosoftVisualC++8」が表示されます。
それはどのように行われますか?それは私には知られていないPEファイルのいくつかの構造に応答する必要があります。
アップデート:
- CFF Explorerは、静的にリンクされたPEファイルの正しいVCコンパイラバージョンを取得できます(msvcmXX.dll、msvcpXX.dll、またはmsvcrXX.dllへのDLL依存関係はありません)
- PEオプションヘッダーのLinkerVersion/ImageVersion / SubsytstemVersion / OperratingSystemVersionフィールドをゼロにクリアしても、CFFエクスプローラーは正しいVCコンパイラバージョンを知ることができます。
CFFエクスプローラーは、VCコンパイラのバージョンを検出するために非常に信頼性の高い方法を使用しているようです。