Comment puis-je masquer mon code c#, donc il ne peut pas être deobfuscated si facilement?
Je de sortir une panoplie d'outils gratuits, mais récemment, j'ai commencé à vendre d'une application, qui a privé de recherche, et les gens ont été en mesure d'obtenir mon code source, et une personne du public libéré de toute ma source. J'ai passé beaucoup de temps sur ce programme, juste d'avoir quelqu'un crack, et la libération de toute ma source.
Comment puis-je protéger mon programme? J'ai essayé HWID, mais les gens sont encore capables de se fissurer. Je sais que je suis limité par C#, mais le plus pratique à utiliser. J'ai juste besoin d'un moyen de protéger mes programmes de gens qui tentent de le faire.
- Quand vous dites "crack", ne vous entendez par "décompiler'?
- double possible: stackoverflow.com/q/551892/643085
- Bien que la question HighCore lié est un peu différent de celui-ci, le haut de répondre à cette question directement des réponses à cette question, et les réponses, c'est bien.
- Il peut être OT, mais comment vous veillé à ce que le code avait été volé?
- Je trouve amusant que les réponses à cette question, vous dire comment faire pour continuer à utiliser le programme pour libre quand il est parti commerciale, compte tenu de la question est de savoir comment protéger un logiciel commercial. 🙂
- En effet 🙂 Mais il y a encore quelques gratuit ceux qui y sont énumérés, trop.
- Il n'y a pas de solution technique à la nature humaine. Certaines personnes seront toujours voler. Comme vous essayez d'ajouter des contre-mesures, vous allez inévitablement atteindre un point de rupture où vous êtes incommoder vos utilisateurs légitimes de plus que ceux qui seront pirate vous logiciel.
Vous devez vous connecter pour publier un commentaire.
Vous pourriez avoir un coup d'oeil à l'un des nombreux outils de dissimulation qui sont là-bas, par exemple celles mentionnées dans https://stackoverflow.com/questions/805549/free-obfuscation-tools-for-net (note: question actuellement indisponible pour la vue).
EDIT: le ci-dessus liés question a été supprimé et n'est ainsi pas disponibles pour le visionnement.
Comme une référence voici la liste de liens de travail publié dans la question ci-dessus extraite à l'aide d'une partie de la puissance de l'utilisateur:
http://gapotchenko.com/eazfuscator.net
http://orangeheap.blogspot.nl
http://confuser.codeplex.com (remplacé par https://yck1509.github.io/ConfuserEx/)
http://ntoolbox.com
Bien, le problème avec des langages comme C#/Java, c'est qu'ils sont généralement beaucoup plus facile de dissimuler. La voie à la sécurité, c'est généralement à mettre ce genre de choses dans un webservice, mais vous avez dit que vous ne pouvait pas vraiment le faire. Ce qui sur le portage de règle spécifique de non-trivial fonctions au cours d'un langage comme C, et dissimuler que. Votre programme C# pourrait alors utiliser la réflexion pour faire des appels de cette externe/dll non managée. Il serait d'augmenter la difficulté de abrutissant, mais le problème est que si quelqu'un veut-il assez mauvais, ils peuvent comprendre que c'est côté client.
Il se peut que l'action en justice est la seule solution ici, mais ce n'est pas un site de conseils juridiques, et je ne suis pas qualifié pour donner si c'était le cas.
En outre, cela pourrait être une décision d'affaires. Pensez à Faire vos logiciels open-source, et d'afficher un lien de don. Je suis également pas qualifiés pour donner des conseils d'affaires, mais cela vaut la peine de considérer. Il pourrait en fait augmenter votre chiffre d'affaires, sans parler des autres avantages qui viennent avec la diffusion de logiciels open-source.
Il y a Dotfuscator (http://www.preemptive.com/products/dotfuscator/overview). Mais la meilleure solution dans certains cas, consiste à offrir ce que vous faites comme un site web (Logiciel en tant que Service).
Considère cet outil par exemple pour convertir VB C#: http://converter.telerik.com/
Ou de cet outil pour le format JSON: http://jsonformatter.curiousconcept.com/
Cela peut ou peut ne pas fonctionner pour vous. Je ne sais pas quelle est la nature du logiciel que vous essayez de protéger.
Non, votre code doit contenir les informations nécessaires pour déchiffrer lui-même, c'est un problème impossible à résoudre.
Votre meilleure solution est de mettre votre propriété intellectuelle sur un serveur dans le cloud que vous seul avez accès. Donnez à vos clients un unique de connexion, de la vérification de leur accès pour vérifier les abus, hors charge autant de tâches rébarbatives sur vos clients des machines, mais gardez vos algorithmes enfermés dans le cloud.