2010-02-09 4 views
2

J'ai essayé d'utiliser la protection de code (le code est crypté et ne peut pas être reflété) fait par clisecure avec postsharp mais les dlls sécurisées ne compileront pas lorsque post sharp est utilisé en solution. J'utilise juste PostSharp.Laos et PostSharp.PublicProtection de code et tissage de code dans .net

Avez-vous déjà essayé une telle combinaison? Avez-vous réussi à le faire fonctionner. Si oui, dites-nous quel outil d'obfuscation et quel framework de tissage de code utilisez-vous?

Répondre

1

J'ai utilisé avec succès Dotfuscator et Postsharp en combinaison, mais seulement avec le temps de compilation IL Weaving et pas encore avec une interception d'exécution. Tout devrait être assez simple tant que vous bousculer le binaire que PostSharp post-compilation tissage sorties. Les avertissements d'obscurcissement habituels s'appliquent à tout votre code transversal (en particulier lorsque vous utilisez la réflexion) car l'obfuscation modifie les noms des symboles et vous devrez exclure tout symbole d'être renommé ou élagué qui sera réfléchi ou utilisé tardivement. contraignant.

0

Il existe quelques astuces lors de l'utilisation d'un obfuscateur. Par exemple, vous ne pouvez pas changer le nom des types d'aspect et des champs des types d'aspect car les aspects sont sérialisés par PostSharp et désérialisés lors de l'exécution. Vous pouvez utiliser des exceptions d'obfuscation pour les aspects.

Un autre problème est que vous ne pouvez pas renommer certaines méthodes qui sont la cible d'aspects. Je pense que cela se produit uniquement avec des méthodes génériques ou des méthodes de types génériques.

Une alternative consiste à utiliser un obfuscator qui ne renomme pas le code, tel que WIBU. Je n'ai pas essayé, cependant.

+0

Merci pour votre réponse. J'aurais dû écrire que cli secure "code protection" ne change pas les noms des types, ce qui n'est pas un problème ici. Il supprime simplement les corps des méthodes et les crypte. –