Partager via


Pourquoi utiliser l'obfuscation

Il est facile d'effectuer une ingénierie à rebours sur les programmes écrits pour le .NET. Ce n'est en aucune façon une erreur dans la conception du .NET, mais une réalité inhérente aux langages compilés intermédiaires modernes. Le .NET utilise une syntaxe de fichier expressive pour la remise de code exécutable ou MSIL (Microsoft Intermediate Language). De niveau beaucoup plus élevé que le code machine binaire, les fichiers intermédiaires sont dotés d'identificateurs et d'algorithmes immédiatement visibles et, en fin de compte, compréhensibles. Il est en effet difficile de rendre quelque chose facile à comprendre, flexible et extensible tout en en masquant les détails cruciaux.

Par conséquent, toute personne disposant d'un décompilateur .NET disponible gratuitement peut facilement effectuer une ingénierie à rebours sur du code. Dès lors, le code de licence des logiciels, les mécanismes de protection contre la copie et la logique métier propriétaire sont beaucoup plus accessibles, que cela soit légal ou pas. N'importe qui peut lire les détails d'un logiciel pour quelque raison que ce soit. Cette personne peut ensuite rechercher des failles de sécurité à exploiter, voler des idées originales, pirater des programmes, etc.

Cela ne doit pas pour autant constituer un risque ou un problème insurmontable. Les organisations soucieuses de leur propriété intellectuelle sur la plateforme .NET doivent comprendre qu'il existe une solution permettant de contrecarrer l'ingénierie à rebours. L'obfuscation est une technique qui permet l'attribution transparente de nouveaux noms pour les symboles des assemblys, et qui offre d'autres astuces permettant de faire échouer les décompilateurs. Lorsqu'elle est appliquée correctement, l'obfuscation permet d'accroître sensiblement la protection contre la décompilation, tout en laissant l'application intacte.

© 2002-2007 PreEmptive Solutions. Tous droits réservés.