Il existe une perception générale selon laquelle la signature d'un assemblage protège contre le piratage/modification du code. Mais il existe des moyens bien connus d'ILDASMing pour supprimer ces signatures. Je me demande s'il existe des moyens de protéger mon assemblage .net contre la suppression de la signature ? Il ne semble pas que l'obscurcissement de mon code puisse être utile dans ce scénario.
Réponses
Trop de publicités?Vous ne pouvez pas empêcher quelqu'un d'enlever la signature.
Les assemblages signés n'ont pas été conçus dans ce but. Le système est conçu pour protéger les utilisateurs du programme contre l'exécution de code non fiable qui pourrait nuire à leur système. Il n'a pas été conçu pour protéger les éditeurs de la modification de leur code par les utilisateurs.
Vous pouvez vous pencher sur l'obfuscation, mais sachez qu'un utilisateur suffisamment déterminé sera toujours capable de faire de l'ingénierie inverse et de modifier le code.
En rapport :
Il existe deux types de signature : la signature à l'aide de l'outil sn.exe et la signature Authenticode. Ils ont été conçus à des fins différentes, mais aucun d'entre eux n'est très utilisable pour protéger votre application contre les modifications.
Vous devez identifier les menaces possibles et, en fonction de celles-ci, trouver des moyens de protéger vos actifs. Pour la plupart des besoins, l'obscurcissement du code est la seule solution. Elle ne protège pas de toutes les modifications, mais elle protège de l'examen du code et partiellement de certaines modifications.