Détecter le compilateur utilisé pour le fichier EXE

18

Existe-t-il un moyen de détecter (ou masquer) le compilateur qui a été utilisé pour créer un fichier exécutable?

Remus Rigo
la source

Réponses:

12

PEiD est assez bon

PEiD détecte les packers, crypteurs et compilateurs les plus courants pour les fichiers PE. Il peut actuellement détecter plus de 600 signatures différentes dans les fichiers PE.

PEiD est spécial à certains égards par rapport à d'autres identifiants déjà disponibles!

  1. Il a une superbe interface graphique et l'interface est vraiment intuitive et simple.
  2. Les taux de détection sont parmi les meilleurs donnés par tout autre identifiant.
  3. Modes de numérisation spéciaux pour des détections avancées de fichiers modifiés et inconnus.
  4. Intégration du shell, prise en charge de la ligne de commande, toujours au top et capacités Drag'n'Drop.
  5. Analyse de plusieurs fichiers et répertoires avec récursivité.
  6. Visualiseur de tâches et contrôleur.
  7. Interface de plugin avec des plugins comme Generic OEP Finder et Krypto ANALyzer.
  8. Techniques de balayage supplémentaires utilisées pour des détections encore meilleures.
  9. Options d'analyse heuristique.
  10. Nouveaux détails PE, importations, exportations et visualiseurs TLS
  11. Nouveau démonteur rapide intégré.
  12. Nouvelle visionneuse hexagonale intégrée.
  13. Interface de signature externe qui peut être mise à jour par l'utilisateur.
Sathyajith Bhat
la source
4
"PEiD détecte les compilateurs [...] les plus courants pour les fichiers PE." c'est ce que dit le readme - en fait, il ne dit pas comment y
parvenir
@Sathya Remarque, le lien inclus est maintenant mort.
DuckMaestro
@DuckMaestro a mis à jour avec un lien alternatif
Sathyajith Bhat
S'il ne peut pas détecter le compilateur, quelque chose comme Nothing found [Overlay] * sera affiché - ce qui est déroutant si vous utilisez cet outil pour la première fois.
mbx
"Le site à venir contient des programmes nuisibles" - Google Chrome. Voici un meilleur lien.
Ben N
8

Essayez les chaînes d' utilitaires * nix . L'utilisation strings -a foo.exe devrait produire une pile de résultats. Redirigez vers un fichier et examinez-le dans votre éditeur préféré. Vous pouvez voir soit une ligne qui implique directement un compilateur spécifique, comme Borland C ++ - Copyright 2002 Borland Corporation . Vous ne pourrez peut-être trouver que des lignes qui impliquent qu'un compilateur spécifique a été utilisé, comme dans un chemin d'inclusion ou autre.

Strings est également disponible pour Windows dans le cadre de cygwin , ou dans le cadre du package microsoft sysinternals .

DaveParillo
la source
Il ne me montre pas le nom du compilateur seulement un projet de noms de DLL
Eduardo Xavier
1

Pas gratuit, mais IDA Pro a une très bonne détection du compilateur. Ce n'est pas sa fonction principale bien sûr, mais un joli plus.

Henno
la source
0

Si vous pouvez trouver un moyen d'examiner la première douzaine d'octets du fichier EXE, dans un vidage hexadécimal avec les caractères ASCII correspondants affichés, ils indiqueront généralement le compilateur utilisé.

pavium
la source
1
je me demandais si quelqu'un ou un logiciel peut trouver si l'exe a été construit avec une édition de compilateur spécifique (Visual Studio 2010 Professional ou Enterprise ou Express)
Remus Rigo
Ce n'est généralement pas vrai. La première partie d'un fichier PE est le talon DOS qui est généralement un programme qui imprime quelque chose comme «Ce programme ne peut pas être exécuté en mode DOS».
lesderid
-1

Vous pouvez utiliser le "marcheur de dépendances" pour vérifier à quelle bibliothèque d'exécution il est lié. MSVCP100 est Microsoft Visual C ++ 2010 x86

user509763
la source