Je dirais qu'il y a plusieurs choses à regarder :

D'abord regarder si tu ne trouves pas des DLL ou d'autres fichiers connus :
python27.dll; *.pyc; *.pyo; *.pdb => python
php*.dll => php
vb*.dll; *.ocx => visual basic 6
interop*.dll; *.exe.manifest; *.dll.manifest => C#/VB.net
*.jar; *.class => java

L'étape 2 consiste à regarder à quoi sont liés les EXE et les DLL pour 
voir si on ne retrouve pas quelque chose de connu.
Par exemple si on trouve beaucoup de fonctions qui commencent par _Z 
alors c'est peut-être du C++. On peut aussi retrouver des traces de la 
CRT utilisée.

L'étape 3, regarder si dans l'EXE et les DLL, il n'y aurait pas quelque 
chose qui ressemblerait à du bytecode intégré. Par exemple ruby2exe peut 
intégrer du code ruby, py2exe du code python, dans l'exécutable, sous 
forme de ressources.

L'étape 4, c'est utiliser un décompilateur, et essayer de voir si une 
séquence de code assembleur ne ressemble pas à quelque chose de typique 
d'un compilateur connu. Bien sûr c'est compliqué, mais ça 
restetechniquement faisable, car chaque compilateur a sa marque de 
fabrique (les boucles, les sauts, les procédures d'entrée/sortie de 
fonctions, etc. ne sont pas toujours compilées exactement pareil). Dans 
cette étape, on peut aussi parfois repérer des informations de débogage 
qui n'ont pas été enlevés et qui peuvent être très utiles...




Progliste :
Pour se désinscrire de la liste : 
mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/       

Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je 
vous répondrez en privé.

Répondre à