Outils pour faire du Reverse Engineering

Une belle façon d’apprendre comment programmer est de regarder le code source des logiciels fait par d’autres personnes. Grâce au monde de l’open source, il est très facile d’en trouver de haute qualité. Par contre, parfois nous n’avons pas accès à ces documents, car ils sont propriétaires. Les outils que je vous proposent sont gratuits et permettent de jouer avec ces petits fichiers binaires. Attention, car la majorité des licences d’utilisation ne vous donnent pas le droit de faire de l’ingénierie inverse (ou rétro-ingénierie). Vérifiez avant…

Pour des applications Java, vous pouvez obtenir tous les fichiers class d’un fichier Jar en utilisant simplement un logiciel qui peut lire les archives zip (par exemple 7-Zip). Ensuite pour voir le code java de chacune des classes, utilisez Jad qui est un décompilateur de bytecode en Java.

Pour des applications écrites sur la plate-forme .NET peu importe le langage (C#, Basic, …), vous pouvez utiliser Reflector qui prendra le code exécutable et vous le transformera en C# ou en Basic. C’est aussi utile pour savoir comment écrire en C# des choses que vous savez déjà écrire en Basic. Pour ce faire, compilez votre programme Basic et décompilez-le en C#.