Как я могу определить тип DLL? (COM, .NET, WIN32)

Мне нужно обработать несколько DLLS и EXE-файлы в папке и определить, с каким типом файлов я имею дело: .NET, COM, Win32 или какой-либо другой чужой жизни.

мы пытались определить самый простой способ определить тип DLL, что вы думаете об этом:

COM dll => Я делаю LoadLibrary, затем GetProcAddress для "DllRegisterServer», Если я получу действительное возвращение, этоэто файл COM.

.NET dll => Если DLL зависит отmscoree.dll Это'всегда. NET DLL?

Win32 dll => Если оба вышеуказанных теста не пройдены,это Win32 dll?

Конечно, должен быть лучший способ определить, с каким типом DLL мы имеем дело. Выше очень неуклюжий, и выигралработать с файлами EXE? Должен быть какой-то другой способ, о котором я не думаю.

В идеале яя хотел бы иметь возможность заставить анализатор определять, с каким компилятором был скомпилирован файл, и какие функции он использует, такие как MFC, Atl, Stl и т. д ... Но я сомневаюсь, что 'возможно в эпоху до отражения?

Ответы на вопрос(3)

Ваш ответ на вопрос