2008-09-12 12 views
18

Je suis à la recherche d'une technique ou d'un outil que nous pouvons utiliser pour obscurcir ou sécuriser en quelque sorte notre code C# compilé. L'objectif n'est pas la sécurité des utilisateurs/données, mais d'empêcher l'ingénierie inverse de certaines technologies de notre logiciel.Meilleure méthode pour obscurcir ou sécuriser les assemblages .Net

Ce n'est pas pour une utilisation sur le Web, mais pour une application de bureau. Donc, connaissez-vous des outils disponibles pour faire ce genre de chose? (Ils n'ont pas besoin d'être libres)

Quel genre d'implications de performance ont-ils le cas échéant?

Est-ce que cela a des effets secondaires négatifs lors de l'utilisation d'un débogueur pendant le développement?

Nous enregistrons des traces de problèmes sur le terrain. Comment l'obfuscation affecterait-elle cela?

+0

dupliquer: http://stackoverflow.com/questions/2525/best-net-obfuscation-tools-strategy –

Répondre

0

Il existe des outils qui 'désobscument' les DLL obfusquées - je suggérerais de transformer la pièce à protéger en un composant non géré.

+4

À quel point nous allons nous tourner vers les désassembleurs comme ils le font pour briser la protection contre la copie sur ordinateur Jeux. –

+0

@Jonathan Allen: C'est ce qu'on appelle un désassembleur, pas un désassembleur. Au fait, vous n'avez pas besoin de démonter.HexRays a un bon DECOMPILER C/C++ (voir IDA Pro Advanced). –

16

Ceci est une très bonne liste des obfuscators de msdn Obfuscators

Je n'ai pas observé des problèmes de performance lorsque obscurcissant mon code. Si votre texte envoyait des traces de pile, vous pourriez avoir un problème pour traduire les noms des méthodes.

+0

Ce serait sympa d'avoir des liens. Si vous avez une chance, pourriez-vous les ajouter? – spoulson

+4

Désolé mais [de4dot] (http://de4dot.com/) peut désobfuser ceux-ci, je recommanderais d'utiliser [ConfuserEx] (https://yck1509.github.io/ConfuserEx/) – newbieguy

+0

@newbieguy J'ai essayé d'utiliser ConfuserEx car il est libre et open source mais après avoir obscurci mon fichier exe, virustotal l'a détecté comme un virus (quand je scanne mon exe sans obfusciter c'est clair). Pas acceptable. – vinsa

0

Vous perdez votre temps dans cette voie. Si vous avez un code que vous ne voulez pas voir, vous devez le garder derrière des portes closes. Par exemple, exécutez uniquement ce code sur votre propre serveur à l'aide d'une interface de service Web.

L'obscurcissement de votre code ne fait que décourager les personnes les plus occasionnelles. Comme l'industrie du jeu vidéo s'est penché il y a longtemps, aucun code n'est à l'abri de la fissuration.

+44

Il est absolument vrai qu'aucune des options de protection n'arrêtera les attaques les plus déterminées. Cela ne signifie pas «perdre votre temps». Cela revient à vous suggérer de ne pas verrouiller votre voiture lorsque vous la quittez parce qu'un voleur qualifié peut entrer par effraction. C'est toujours un bien qui vaut la peine d'être protégé et il est négligent de ne pas essayer de le protéger. Il y a un équilibre à trouver entre protection et aggravation des clients et un investissement mineur dans la protection contre 99% des script kiddies et des attaquants là-bas. –

+2

La sécurité de l'utilisation non autorisée d'une copie «fissurée» n'est pas la même que la sécurité de l'ingénierie inverse pour extraire le code d'un produit concurrentiel. Si la concurrence exige des améliorations et une évolution, l'obscurcissement est peut-être suffisant pour les programmes qui sont déjà compliqués avant l'obfuscation. – H2ONaCl

Questions connexes