protéger les Applications Java sous licence ou clé
Je veux faire une application de bureau qui ne fonctionne que sur les machines qui ont de la clé ou de la licence.
Comment cela peut être réalisé?
Est une vérification en ligne (par exemple, à chaque démarrage) une option?
De toute façon je pense à elle, votre application est susceptible d'être craqué, puisque chaque chose est sur client.
Compte tenu de l'effort, si, c'est le cas pour n'importe quoi...
Il n'est pas vraiment le cas pour les services de cloud (enfin, sauf si vous le pirater, ce qui peut déclencher des gens à courir après vous).
Oui, je sais, d'acheter, il n'a pas dit si c'est côté client ou basée sur le cloud
De toute façon je pense à elle, votre application est susceptible d'être craqué, puisque chaque chose est sur client.
Compte tenu de l'effort, si, c'est le cas pour n'importe quoi...
Il n'est pas vraiment le cas pour les services de cloud (enfin, sauf si vous le pirater, ce qui peut déclencher des gens à courir après vous).
Oui, je sais, d'acheter, il n'a pas dit si c'est côté client ou basée sur le cloud
OriginalL'auteur Ahmed Aswani | 2012-06-05
Vous devez vous connecter pour publier un commentaire.
Cela dépend entièrement sécurisé vous souhaitez le faire...
Le problème avec Java, c'est que vous pouvez inverser le compiler. Donc, si quelqu'un voulait, ils pourraient téléchargement de votre logiciel, le décompiler, puis retirez quelle que soit la sécurité que vous avez mis en place (et puis de le redistribuer si ils voulaient).
C'est seulement un problème si vous planifiez marché de masse et de le vendre et le piratage serait effectivement un problème.
Si vous n'êtes pas concerné à ce sujet, vous pouvez soit aller en ligne, ou hors de contrôle.
L'entreprise pour laquelle je travaille utilise la méthode en ligne; il y a quelques étapes:
EDIT: depuis, j'ai changé la façon dont cela fonctionne, comme l'ancienne méthode était un entretien cauchemar.
name
company
email
key
. c'est à dire laJDU8-AJS9-88DF-SASF-ASF9
genre de chose qu'on voit souvent.Pour générer les clés, il suffit d'utiliser la même fonction de hachage, et ensuite télécharger le hash de votre serveur.
Si vous voulez qu'il soit en mode hors connexion, vous pouvez inclure les valeurs de hachage dans le code je pense et de contre-vérifier.
Je me dois de souligner, cependant, que je ne suis pas un expert en sécurité par tous les moyens, je viens de développer pour une entreprise comme une partie d'un doctor et ce est juste la façon dont je l'ai fait.
Edit: cette image pourrait être utile:
Deuxième Edit:
J'ai maintenant compris hors de vérification" dans le processus. Ce n'est pas vraiment hors de vérification, il utilise juste de l'utilisateur comme un proxy pour accéder à internet, d'une autre manière.
il fonctionne comme ceci:
chaque fois que le programme vérifie en ligne, il ajoute également un accès hors connexion mot de passe pour le fichier de licence, ce qui signifie qu'il est robuste contre les temporaires internet les temps d'arrêt, et ne cesser de travailler si l'internet est en panne depuis plus d'une semaine/mois/le temps qu'il est mis en place pour travailler.
quand quelqu'un fait un achat, nous e-mail de leur rembourser les détails de la licence (à confirmer avec eux). Lorsque vous démarrez le programme, il semble pour le fichier de licence. Puis, il enchaîne les données dans le fichier et transmet la chaîne obtenue par une fonction de hachage - si cette empreinte correspond à la valeur de hachage que nous avons pour leur clé de licence sur nos serveurs, alors qu'il démarre, sinon, il vous invite à remplir un formulaire. Il crée ensuite le fichier de licence qui va par le biais de la table de hachage dans l'avenir.
Si vous en avez un retour juste un booléen, il sera très facile pour les gens à modifier leur fichier d'hôtes (sur windows au minimum) et d'avoir un petit serveur en cours d'exécution qui retourne toujours true. L'avoir de retour d'une sorte de mot de passe spécifique généré à partir d'une clé aléatoire de l'envoyer. I. e. dans les données que vous envoyez, inclure une chaîne de caractères aléatoires, puis de hachage et renvoyer la valeur de hachage. Ensuite, vérifiez les hachages de match.
ce est juste la façon dont nous le faisons ici. Je sais que ça ne résout pas le problème d'être visible à l'attaquant. Je sais que des méthodes qui créent une sorte de
machine fingerprint
à l'aide de divers détails du matériel, ce qui est mieux que d'utiliser les adresses MAC (qui peut usurpée). Si nous ignorons inverser la compilation et l'aime, puis, à condition que suffisamment forte algorithme de hachage, je pense que ça devrait être bon.je ne dirais pas que c'est facile. Je dirais que les gens qui fissure le plus récent des jeux vidéo dans les jours sont juste très bon. Ils ont aussi probablement de travail dans l'industrie, et ainsi de savoir exactement ce qu'ils font. Allez jeter un coup d'oeil pour les logiciels piratés - je parie que vous trouverez que les trucs les plus populaires est cassé dans le premier jour, puis, le même jour, à chaque fois qu'ils libèrent un correctif de sécurité. Puis faire de même pour certains aléatoires petit programme d'entreprise - vous avez peu de chances de trouver quelque chose pour elle (j'avais pressume), tout simplement parce que il n'y a rien pour ceux qui savent comment le briser.
OriginalL'auteur will
Vous pouvez effectuer le suivi de la délivrance de permis d'une machine avec macIP sur en ligne . Même sous windows, vous pouvez écrire dans la base de registre il n'y a pas d'api, mais encore, vous pouvez le faire. Trouver de l'extrait de soufflet de lire le registre
Et dans le niveau de la classe si vous souhaitez dissimuler l'utilisation proGuard .
comment vous pouvez générer ordinateur impression du doigt?
eh bien, c'est à vous vraiment. Une fois, j'ai parlé d'une société qui ne leur licence comme ça, et le gars a dit qu'ils ont utilisé une foule de choses, comme l'adresse mac, les détails du matériel, peut-être adresse ip (mais qui change beaucoup de choses, donc dépend de la façon dont vous voulez que votre permis de travail). Personnellement, je viens de faire le suivi de divers détails, et ont assez unrestricting, mais alors wcheck les détails de chaque maintenant et puis, et si elles semblent être en abuser (ce qui n'est pas encore arrivé), alors je vais les couper.
ummm assez juste...
OriginalL'auteur Subhrajyoti Majumder
il dépend de la façon dont beaucoup de clients que vous envisagez et le mode de distribution aussi. Vous pouvez utiliser un serveur de licences, mais ceci nécessite une connexion internet pour le client. Vous pouvez aussi utiliser une clé USB pour gérer les licences.
Il n'y a pas de système parfait, vous devez faire un comproise entre la simplicité, de l'effort et de prix.
OriginalL'auteur jocelyn