J'ai une application Java autonome qui a un code de licence que je veux sécuriser, c'est-à-dire, empêcher les utilisateurs de changer mon logiciel pour contourner la licence. Quelle est la meilleure façon de procéder? J'ai examiné l'obfuscation, mais cela entraîne toutes sortes de problèmes: réflexion, sérialisation, traces de pile corrompues, etc. Peut-être qu'une signature de pot pourrait être une solution? Mais comment puis-je vérifier le pot à l'exécution? Et comment est-ce que je m'assure que l'utilisateur ne change pas le code de vérification de pot?Jar sécurité
Répondre
Désolé, si vos utilisateurs sont assez savy pour falsifier vos fichiers de classe , ils vont supprimer les caractéristiques de vérification de signature en premier. Je suis d'accord avec l'obfuscation, mais un bon obfuscateur ne devrait-il pas garder un dictionnaire pour convertir une trace de pile obfusquée pour vous?
Cette discussion est vraiment ancienne, et vraiment très compliquée. Il suffit de regarder l'industrie du jeu. Peut-être que vous devriez envisager d'expédier une guitare avec votre application? Combinez les deux, et vous devriez avoir de bonnes synergies.
Vous pouvez sceller le pot. Pls. voir les liens ci-dessous pour plus de détails
- http://java.sun.com/docs/books/tutorial/deployment/jar/sealman.html
java.sun.com/developer/JDCTechTips/2001/tt0130.html
Ceci protège les utilisateurs du mauvais code. Il ne protège pas le code contre les mauvais utilisateurs. – erickson
Ceci est un problème juridique, pas un problème de logiciel.
Vous pouvez rendre le premier utilisateur plus difficile à réaliser une copie, mais pas impossible. Et une fois que l'attaquant déterminé a brisé votre sécurité, il peut faire un nombre illimité de copies pour les paresseux.
Si vous pensez que c'est rentable, engagez des poursuites contre les personnes qui fabriquent des copies non autorisées de votre logiciel. Je crois que la portion des utilisateurs qui volent sciemment votre logiciel (ou, plus généralement, la propriété intellectuelle) varie avec le type de média, et pour la plupart des produits, est relativement petit. Si vous vendez des MP3 de T-Pain, le vol pourrait détruire votre entreprise. Sinon, adoptez la position des sociétés de cartes de crédit, qui s'attendent à tolérer certaines pertes dues à la fraude tout en réalisant un bénéfice.
Nous utilisons actuellement un obfuscator, qui fournit une protection raisonnable contre les attaques. Celui que nous utilisons en ce moment fournit un outil de trace de pile qui les désobscurcira lorsqu'ils sortiront de l'autre extrémité (basé sur le fichier journal généré au moment de l'obfuscation).
Même avec cela, il n'y a pas de réelle protection contre le pirate déterminé.
- 1. NoClassDefFoundError inside jar
- 2. fichier de stratégie jar
- 3. UnsatisifiedLinkError avec ojdbc14.jar
- 4. Exécuter fichier jar J2ME
- 5. JFrames multiples de JAR
- 6. création fichier jar
- 7. Sécurité WCF - Sécurité d'origine des données
- 8. Hacker proofing un fichier jar
- 9. Comment exécuter un fichier JAR
- 10. Unicode dans les ressources jar
- 11. Où s'installe Java JAR ME?
- 12. fenêtres sécurité
- 13. Sécurité SharePoint
- 14. Sécurité Java EE - clients d'application
- 15. Bibliothèques partagées Websphere et sécurité Java 2
- 16. Comment détecter les fichiers JAR en double dans le classpath?
- 17. Comment renommer un fichier lorsqu'il est inclus dans une tâche jar by the jar de ant?
- 18. Problème lors du chargement d'un fichier jar qui dépend d'un autre fichier jar
- 19. Comment créer un fichier jar exécutable avec des fichiers jar dépendants
- 20. Le préfixe "sécurité" pour l'élément "sécurité: http" est pas lié
- 21. Ajax Sécurité Question: JQuery ajax() + PHP scandir() = Problème de sécurité?
- 22. recherche dans les fichiers .jar eclipse
- 23. Comment gérer deux fichiers jar dans Java?
- 24. quoi de mal avec ce fichier Jar?
- 25. Vérifier l'intégrité des fichiers JAR nécessaire?
- 26. Erreur lors de l'exécution du fichier Jar
- 27. Optimisation des images dans un fichier jar
- 28. maven-jar-plugin et dépendances transitives
- 29. Quel Weblogic 10.3 JAR contient weblogic.rmi.RemoteException
- 30. Exécution d'un démarrage JAR sur X
+1 sur l'idée de la guitare. – Epaga