3

コードを見ずに .NET DLL と C++ dll を区別する方法。PE ファイル エクスプローラーから DLL を調べた後、エクスポート テーブルまたは DLL の他のセクションを調べることで、それを特定できますか?

4

2 に答える 2

1

あなたは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ビットかを判断するにはどうすればよいですか?

于 2012-05-17T11:47:38.907 に答える
0

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.

于 2012-07-02T15:54:06.770 に答える