37 votes

Devez-vous masquer une application commerciale .Net?

Je pensais à obscurcir une application commerciale .Net. Mais vaut-il vraiment la peine de choisir, d’acheter et d’utiliser un tel outil? Les fichiers binaires obfusqués sont-ils vraiment à l'abri de l'ingénierie inverse?

39voto

Blair Conrad Points 56195

Vous ne pouvez pas avoir à acheter un outil Visuel Studio.NET est livré avec une version communautaire de Dotfuscator. Autres gratuit de dissimulation des outils sont répertoriés ici, et ils peuvent répondre à vos besoins.

Il est possible que l'obfuscation binaires ne sont pas à l'abri de l'ingénierie inverse, tout comme il est possible que votre cadenas de vélo peut-être sécable/cliquable. Cependant, il arrive souvent qu'un petit inconvénient est suffisant pour dissuader ceux qui pourraient être code/le voleur de bicyclette.

Aussi, si jamais il vient le temps de faire valoir vos droits à un morceau de code dans la cour, ayant vu faire un effort pour les protéger (en ôtant il) peut vous donner des points supplémentaires. :-)

Vous n'avez qu'à considérer les inconvénients, cependant, il peut être plus difficile à utiliser la réflexion avec d'obfuscation de code, et si vous êtes en utilisant quelque chose comme log4net pour générer des parties de lignes de log basé sur le nom de la classe, ces messages peuvent devenir beaucoup plus difficile à interpréter.

29voto

Jay Bazuzi Points 20462

Rappelez-vous que l'obfuscation est seulement un obstacle à la casual examinateur de votre code. Si quelqu'un est sérieux au sujet de trouver ce que vous avez écrit, vous aurez un moment très difficile de les arrêter.

Si vous avez des secrets dans votre code (comme les mots de passe), vous le faites mal.

Si vous inquiet que quelqu'un pourrait produire votre propre logiciel avec vos idées, vous aurez plus de chance sur le marché en proposant de nouvelles versions de vos clients, avec l'appui technique, et en étant un partenaire pour eux. Bonnes affaires gagne.

12voto

RickL Points 1887

Au sein de notre entreprise, nous avons évalué différentes de la dissimulation de technologies, mais ils avaient tous des problèmes. Le plus gros problème est que nous comptons beaucoup sur la réflexion, par exemple, de créer dynamiquement des grilles basées sur les noms de propriété.

De sorte que tous les obfuscators renommer les choses, vous pouvez le désactiver, bien sûr, mais alors vous perdez l'avantage de l'obscurcissement.

Aussi, dans notre code, nous avons beaucoup de NUnit tests qui dépendent beaucoup plus des méthodes et des propriétés publiques, ce qui a empêché certains de la obfuscators d'être en mesure de dissimuler ces classes.

En fin de compte nous nous sommes installés sur un produit appelé .NET Réacteur

Il fonctionne très bien, et nous n'avons pas de problèmes avec les autres produits.

"Contrairement à obfuscators .NET Réacteur arrête complètement de toute décompilation par le mélange de toute pure .NET de l'assemblée (écrit en C#, VB.NET, Delphi.NET, J#, MSIL...) avec le code machine natif. Dans le détail, les .NET Réacteur construit un natif de la paroi entre les pirates et les votre .NET code. Le résultat est un standard basé sur Windows, pas MSIL compatible, fichier. L'original .NET code reste intacte, bien protégé par le code natif et invisible pour les yeux indiscrets. L'original .NET code n'est pas copié sur le disque dur à tout moment. Il n'y a pas d'outil qui est capable de décompiler .NET Réacteur protégé assemblées."

7voto

Vinko Vrsalovic Points 116138

Le fait que vous ne pouvez désosser il ne fait pas de la dissimulation de l'inutile. Elle pose la barre de manière significative.

Un unobfuscated .NET de l'assemblée vous montrera tous les source de, mis en évidence et tout simplement en téléchargeant le .NET Réflecteur. Ajouter obscurcissement pour cela et vous aurez de réduire très significatively la quantité de personnes qui sera en mesure de modifier le code.

Il dépend de vous de vous de vous protéger contre. Si vous l'expédier unobfuscated, vous pourriez aussi bien open source de l'application et l'avantage de la commercialisation. L'expédition d'obfuscation ne permettent aux personnes de relativement facilement générer des binaires modifiés par des correctifs au lieu d'être en mesure de voler votre code et de créer un concurrent direct. L'obtention de la source réelle de obfuscation de code est très dur, en fonction de l'obfuscateur, bien sûr.

4voto

Doron Yaacoby Points 2946

Je pense que cela dépend du type de votre produit. S'il est destiné à être utilisé par les développeurs, l'obfuscation nuira à vos clients. Nous utilisons les produits ArcGIS au travail et toutes les DLL sont obscurcies. Cela rend notre travail beaucoup plus difficile, car nous ne pouvons pas utiliser Reflector pour décrypter des comportements étranges. Et nous achetons des clients qui ont payé des milliers de dollars pour ce produit.

Alors s'il vous plait, ne brouillez pas à moins que vous n'ayez vraiment à le faire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X