par Admin Lun 18 Avr 2011 - 19:38
Bonjour,
L'un des gros problèmes du .Net Framework est qu'il est très facile de le désassembler. On peut récupérer absolument tout les codes d'un projet compilé en .Net.
Heureusement, il existe quelques moyens pour éviter cela :
1 - Obfusquer son logiciel : en gros, un logiciel (Dotfuscator, gratuit) décompile votre programme, renomme toute les fenêtres, variables et fonctions avec des noms qui n'ont aucun sens, puis le recompile. Le but est que la personne qui décompile votre logiciel ne comprenne rien à sa fabrication, sa hiérarchie, bref, restreindre ses chances de trouver ce qui l'intéresse dans vos codes.
http://www.preemptive.com/products/dotfuscatortutorial d'utilisation :
http://www.vbfrance.com/tutoriaux/OBFUSCATION-NET_304.aspx2 - Encrypter son logiciel : avec .Net Reflector, il est très facile de décompiler un programme fait en .Net et même de l'enregistrer tout la forme d'un projet Visual Studio. L'obfuscation n'empêche pas de décompiler mais néanmoins, comme je l'ai dit précédemment, permet d'embrouiller la personne.
En encryptant un programme .Net, .Net Reflector (ou un autre désassembleur .Net) ne pourra même pas charger votre application.
Pour encrypter un logiciel, il faut utiliser .Net Reactor (payant) :
http://www.eziriz.com/3 - enfin, la meilleure des solutions est d'utiliser les deux cités ci-dessus en même temps : d'abord on obfusque, puis on encrypte, comme ça même si on arrive à désassembler le programme, les fonctions, variables et autre auront un nom à dormir debout.
Voila