Bonjour à tous,
Je viens de lire avec intérêt l'article "Signature d'assembly avec .net" (http://webman.developpez.com/article...semblysigning/) car j'étudie en ce moment les moyens de protections disponibles avec .NET.
J'ai toutefois une question sur le principe même de la signature :
- j'ai crée une application bateau
- j'ai signé l'assembly de l'application (génération de clef avec sn.exe puis j'ai réglé les settings du projet dans VS2005)
- je décompile ensuite l'assembly avec ILDASM
- là je peux supprimer la portion de la clef publique (dans le fichier .IL) et même modifier le code IL
- je recompile l'application avec ILASM
- mon application fonctionne!
Du coup, je ne comprends pas bien l'intérêt de la signature, car avec ILDASM/ILASM il semble facile de contourner la signature? Quel est donc son intérêt?
J'ai surement raté quelque chose d'important (peut-être que si on retire la clef public d'une assembly, elle ne pourra plus être chargée par assemblies qui la référence? Surtout si la référence est basée sur le string name?)
Bref, je suis preneur de tout avis visant à me faire réaliser l'intérêt que représente la signature des assemblies...
Merci!
Partager