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é.
