Potrzebuję przetworzyć wiele plików DLL i exe w folderze i określić, jaki typ pliku mam do czynienia: .NET, COM, Win32 lub jakiejś innej formy życia obcych.Jak mogę wykryć typ biblioteki DLL? (COM, .NET, WIN32)
Próbowałem określić najprostszy sposób, aby wykryć rodzaj DLL, co myślisz o tym:
dll COM => I zrobić LoadLibrary, następnie GetProcAddress dla "DllRegisterServer". Jeśli otrzymam prawidłowy zwrot, jest to plik COM.
.NET dll => Jeśli dll zależy Mscoree.dll to zawsze dll .NET?
Win32 dll => Jeśli oba powyższe testy zakończą się niepowodzeniem, jest to Win32 dll?
Z pewnością musi istnieć lepszy sposób na wykrycie, z jakim typem dll mamy do czynienia. Powyższe jest bardzo niezgrabne i nie będzie działać z plikami EXE? Musi istnieć jakiś inny sposób, o którym nie myślę.
Idealnie chciałbym móc sprawić, aby analizator składni ustalił, z jakim kompilatorem plik został skompilowany i jakie funkcje używa, takie jak MFC, Atl, Stl itd ... Ale wątpię, aby było to możliwe w Era refleksji?
Przyjmując tę odpowiedź ze względu na ładne linki. Dziękuję innym plakatom za cenne uwagi. –