コードを見ずに .NET DLL と C++ dll を区別する方法。PE ファイル エクスプローラーから DLL を調べた後、エクスポート テーブルまたは DLL の他のセクションを調べることで、それを特定できますか?
2 に答える
あなたはcorflagsを使うことができるかもしれません
.NET c#DLLの場合、
Microsoft(R).NETFrameworkCorFlags変換ツール。バージョン4.0.30319.1Copyright(c)MicrosoftCorporation。全著作権所有。
バージョン:v4.0.30319 CLRヘッダー:2.5 PE:PE32 CorFlags:1 ILONLY:1 32BIT:0署名済み:0
C++DLLの場合
corflags:エラーCF008:指定されたファイルに有効な管理対象ヘッダーがありません
**** アップデート ****
私はその質問を誤解したかもしれません。これは、同様の問題に関する良いSOの質問です。 Windows DLLファイルをテストして32ビットか64ビットかを判断するにはどうすればよいですか?
As a matter of fact, this is clearly indicated by looking at the Image file and is documented by the Portable Executable format specification. Should the Directory[IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR] be present (not EMPTY), the image is Managed (.NET) otherwise the image is unmanaged.