Il convient de garder à l'esprit que vous devez procéder de manière à ce que votre activité soit rentable. Pour ce faire, vous devez définir vos objectifs. Alors, quels sont exactement vos objectifs ?
Prévenir le piratage ? Cet objectif n'est pas réalisable. Même le code natif peut être décompilé ou craqué ; la multitude de warez disponibles en ligne (même pour des produits comme Windows et Photoshop) est la preuve qu'un pirate déterminé peut toujours y avoir accès.
Si vous ne pouvez pas empêcher le piratage, pourquoi ne pas simplement le réduire ? Là encore, c'est une erreur. Il suffit qu'une seule personne déchiffre votre code pour qu'il soit accessible à tous. Vous devez avoir de la chance à chaque fois. Les pirates n'ont à avoir de la chance qu'une seule fois.
Je vous le demande l'objectif doit être de maximiser les profits. Vous semblez croire que l'arrêt du piratage est nécessaire à cette entreprise. Ce n'est pas le cas. Le profit est simplement le revenu moins les coûts. Mettre fin au piratage augmente coûts . Cela demande un effort, ce qui signifie un coût supplémentaire quelque part dans le processus, et réduit donc ce côté de l'équation. La protection de votre produit ne permet pas non plus d'augmenter vos revenus. Je sais que vous regardez tous ces pirates et que vous voyez tout l'argent que vous pourriez gagner si seulement ils payaient vos droits de licence à la place, mais la réalité est que cela jamais se produire. Il y a une certaine hyperbole ici, mais il est généralement admis que les pirates qui ne parviennent pas à craquer votre sécurité trouveront un produit similaire qu'ils pourront craquer ou s'en passeront. Ils vont jamais l'acheter à la place, et donc ils ne no représentent des ventes perdues.
En outre, sécuriser réellement votre produit réduit revenus . Il y a deux raisons à cela. La première est le faible pourcentage de clients qui ont des problèmes avec l'activation ou la sécurité, et qui décident donc de ne plus acheter ou de demander le remboursement de leur argent. L'autre est le faible pourcentage de personnes qui essaient réellement une version pirate d'un logiciel pour s'assurer qu'il fonctionne avant de l'acheter. Limiter la distribution pirate de votre produit ( si vous y parvenez d'une manière ou d'une autre) empêche ces personnes d'essayer votre produit, et donc de l'acheter. En outre, le piratage peut également contribuer à la diffusion de votre produit auprès d'un public plus large, touchant ainsi un plus grand nombre de personnes qui seront prêtes à payer pour l'acquérir.
Une meilleure stratégie consiste à supposer que votre produit sera piraté et à réfléchir aux moyens de tirer parti de la situation. Quelques liens supplémentaires sur le sujet :
Comment puis-je empêcher le vol de mon code ?
Sécuriser une application .NET
10 votes
Si reflector ne peut pas savoir si votre application est un assemblage .NET, comment l'application qui essaie de la charger est-elle censée le faire ?
1 votes
Re " Je ne veux pas obscurcir mon code, donc mes noms de méthodes seront a,b,c ou ainsi de suite." Pourquoi pas ? C'est la chose évidente à faire pour rendre plus difficile aux concurrents de donner un sens à votre logique.
0 votes
Oui, l'obscurcissement fonctionne à 100%. D'abord, vous ne devriez pas mettre de "secrets" dans votre code, des choses qui "une fois trouvées dans le code peuvent compromettre la sécurité". Deuxièmement, avez-vous déjà pris du code sur GitHub et essayé de le ré-utiliser ? Je veux dire, même le code non obfusqué peut être fou à réaffecter en raison des paradigmes utilisés, du couplage des classes, des responsabilités de classe floues, des festins de dépendance, des festins de callback et plus encore. Cela signifie que votre code obfusqué est parfaitement sûr, jusqu'à ce que nous ayons des programmeurs robots capables de comprendre la logique de programmation et de réécrire/réfacturer le code rapidement, ce qui n'est pas près d'arriver.