Question

Je prévois de libérer un petit utilitaire à bas prix. Comme il est plus passe-temps que les affaires, je comptais utiliser Dotfuscator Community Edition qui est livré avec VS2008.

Quelle est-il?

Je pourrais aussi utiliser la définition de « assez bon obfuscateur » - Que manque de Dotfuscator Community Edition pour le rendre assez bon.

Modifier

J'ai vérifié les prix sur le nombre de obfuscators commerciaux et ils coûtent beaucoup. Est-ce que ça vaut le coup?

sont des versions commerciales qui protègent beaucoup mieux de l'ingénierie inverse?

Je ne suis pas très peur de ma demande craqué (il sera décevant si l'application est si mauvaise que personne ne se intéresse à le casser). Il est pas très protégé de toute façon, pas trop complexes clés en série et contrôles licence sur quelques endroits dans le code. Cela me bugs sans faux-fuyants, quelqu'un peut facilement obtenir le code source, rebaptiser et de le vendre comme son propre.

Est-ce que cela se produit beaucoup?

Edit 2:

Quelqu'un peut recommander obfuscateur commerciale. J'ai trouvé beaucoup d'entre eux, tous sont chers, certains même n'ont pas prix indiqué sur le site Web.

Feature sage, tous les produits semblent plus ou moins similaires.

Quel est ensemble minimal de fonctionnalités obfuscateur devrait avoir?

Était-ce utile?

La solution

En un mot, la principale différence entre Dotfuscator Community Edition et les autres éditions « professionnels » est que Community Edition ne sera réellement et modifier vos obfusquer espaces de noms, les noms de méthodes et d'autres aspects accessibles « public » de vos classes. Il ne rentrerons pas dans les fonctions elles-mêmes et obscurcir le code « privé » au sein de la fonction.

En outre, l'édition communautaire ne fait rien pour obscurcir des choses telles que le flux de contrôle dans votre application, ni ne code « combiner » de plusieurs ensembles dans un ensemble. Ce sont des fonctionnalités qui sont disponibles dans le versé pour les versions « professionnelle ».

La meilleure comparaison entre l'édition communautaire (la version « libre » qui vient avec Visual Studio) et le « professionnel », versé pour les éditions se trouve en regardant les deux liens suivants:

Comparaison préemptif Dotfuscator Editions

Dotfuscator Community Edition 3.0 sur MSDN

Le lien MSDN est légèrement hors de ce jour, cependant, donne une explication beaucoup mieux des caractéristiques réelles qui sont disponibles dans les différentes éditions de Dotfuscator.

EDIT:

obfuscators commerciales coûtent beaucoup d'argent, et à castrés, ils valent de l'argent? Eh bien, c'est un jugement qui a vraiment que vous pouvez faire. Personnellement, je dirais que cela ne vaut pas dans votre scénario. Tout d'abord, parce que vous êtes seulement vouloir protéger une application ( « Je prévois de libérer un petit utilitaire à bas prix. ») Et d'autre part, vous dites que vous n'êtes pas trop préoccupé par l'application étant « craqué » ( "je ne suis pas très peur de ma demande craqué. »).

Je comprends comment il peut vous embêter que les applications .NET compilées, sans faux-fuyants, peut être facilement récupérés par reverse engineering à leur code source d'origine, et que quelqu'un peut utiliser cela pour voler votre logiciel et de le vendre comme le leur, cependant, le fait demeure que le piratage de logiciels existe et vous arrêtera probablement jamais.

Essayer d'arrêter le piratage de logiciels a été débattu à la fois ici ad nausem (Stack Overflow) et partout sur Internet.

Le consensus général semble être que vous devez vous concentrer votre temps et énergies plus particulièrement à rendre votre produit aussi grand que possible plutôt que d'utiliser ce même temps à essayer de protéger quelque chose qui, donné assez de temps / argent, un « attaquant "peut « casser »/ voler votre logiciel de toute façon, malgré tous vos efforts pour l'empêcher de le faire.

  

Est-ce que cela se produit beaucoup?

Je dirais que cela arrive probablement beaucoup moins que vous pensez. Bien sûr, logiciel est fissuré, mais je ne pense pas que trop de gens volent en fait le code source d'un autre et complètement re-marque de vendre leur propre. Je ne dis pas qu'il n'a pas, ou n'a pas eu lieu, mais il est certainement pas un phénomène courant.

Pour résumer, je dirais que votre meilleur pari serait de se concentrer à rendre votre utilitaire aussi grande que possible et utiliser l'obfuscateur Dotfuscator libre, car il ne nécessite que très peu d'investissement de temps / argent, pour obscurcir votre code des yeux indiscrètes les plus évidents, mais ne perdez pas de dormir le fait que si quelqu'un veut se fissurer / voler assez mal votre produit / code, ils le feront.

Autres conseils

Je pense Dotfuscator Community Edition livré avec Visual Studio est une solution assez naïve. Il ne fournit que le renommage des symboles et ne rend pas obscur flux de contrôle du tout. Et si quelqu'un décide de étole votre code, il ne faut factoriser revenir tous les noms, ce qui est assez facile avec une petite quantité de classes.

Aussi, vous pouvez compter sur pas si parfait décompilation fourni par réflecteur (il est habituellement passer des blocs mess, fait beaucoup de GOTO, désadaptation if-else blocs, etc.).

Mais je vous suggère d'essayer Eziriz Reactor NET . Il en coûte seulement 179 $ (meilleur rapport prix / fonctionnalités AFAIK). Il fournit des techniques standard d'obscurcissement telles que changement de nom de symbole, le chiffrement de chaîne, obscurcissement de flux de contrôle. Comme un bon bonus, il crée le lanceur natif pour vous l'application, qui contiendra votre assemblage principal et toutes les références troisième partie cryptées et chargées sur demande. De plus, il offre des possibilités de licences.

En tout cas inverser application .NET est pas si dur, je l'ai fait pour le plaisir et je peux dire que c'est seulement question de temps et d'argent (et bien sûr le bon sens) la rapidité de votre application sera fissuré ou inversée.

Au minimum, un obfuscateur doit avoir:

  1. le cryptage String
  2. Symbole renommant
  3. Flux de contrôle obscurcissement

Bon à avoir les caractéristiques sont les suivantes:

  1. Protection des ressources
  2. fusion / intégration Assemblée
  3. appel de méthode externe cacher
  4. Possibilité d'assemblages brouillées auto-signe
  5. Soutien aux ensembles satellites
  6. l'élimination Dead-code
  7. Réduction méta-données
  8. Anti-décompilateur (réflecteur)
  9. Autoprotections
  10. Anti-Debugging

Jetez un oeil à notre produit de Crypto Obfuscator qui prend en charge tous ces aspects.

Une autre façon de contourner le code ingénierie inverse est l'endroit où vous placez vos dll si vous ne pouvez pas vraiment se permettre obfuscators qui n'ajouter le support. Et dans votre assembies avant le déploiement dire au compilateur où chercher pour eux qui était une vieille pratique d'empêcher l'ingénierie inverse. Mais comme il a été déjà dit, se concentrer principalement sur le développement d'un excellent produit et les bonnes pratiques de codage, alors vous serez en mesure de se permettre une belle application obfuscateur à l'avenir. Aussi, essayez de ne pas se soucier de beaucoup sur les autres fissures votre code parce que la plupart des pirates déchiffrent le code trouver juste un moyen d'utiliser le produit sans le payer et de ne pas voler code ou d'apprendre à partir pour le début programmeur. Oui, je souhaite JIT uniquement pris en charge c # et vb.net qui aurait réellement permis de réduire l'ingénierie inverse, mais depuis JIT peut lire beaucoup en raison de .net être vraiment la langue amicale qui est le prix. Ainsi, le code de suite et faire un peu d'argent, acheter des titres supplémentaires.

scroll top