2010-07-01 4 views
0

Je dois vérifier par programme si un binaire EXE donné est un COM, EXE ou Win32.exe, est-ce possible via la table d'importation? Où dois-je chercher dans le registre pour savoir si un binaire est enregistré pour COM? Ceci est spécifique aux fichiers EXE, car les DLL ne sont pas un problème pour moi.Comment pouvons-nous vérifier qu'un EXE binaire (PE) est COM Exe ou Win32 Exe?

http://en.wikipedia.org/wiki/Component_Object_Model

+0

A partir de maintenant je fais cela comme pratique. mais je n'ai pas eu de réponse à ma question posée ci-dessus. – Usman

+0

Ha, j'ai lu ceci et j'ai supposé que c'était une question à ce sujet: http://en.wikipedia.org/wiki/COM_file. Pas de soucis alors. –

Répondre

1

Si vous avez une DLL, vous pouvez demander ses DllGetClassObject (serveurs inprocess COM sont nécessaires pour autant que je sache exporter cette fonction).

Pour les ex, je crains que vous ne pouvez pas, au moins pas sûr à 100%. vous pouvez seulement appliquer des heuristiques telles que vérifier si exe a typelibs dans ses ressources (mais gardez à l'esprit que ce n'est pas obligatoire).