2010-06-19 35 views
2

J'ai besoin de quelques conseils sur la façon d'authentifier les licences (utilisateur/clé de licence).Java: Authentification et validation de licence via un logiciel ou un serveur?

Vaut-il mieux faire ce que beaucoup de jeux font, ce qui valide la clé cd des serveurs de l'entreprise. Existe-t-il un guide sur la façon de mettre en œuvre ceci sans être «craqué» ou «patché»?

OU est-il préférable de simplement valider la clé utilisateur/licence dans le logiciel? Ne verriez-vous pas les keygens flotter autour du filet après un certain temps?

Veuillez nous aviser.

Répondre

1

Si vous le faites côté client, le code peut être décompilé et l'algorithme appris. Le garder du côté serveur empêche cela.

Si vous renvoyez simplement un type de chose "vrai/faux", un serveur proxy pourrait être développé et retournerait simplement "vrai" tout le temps pour que le client pense qu'il est activé alors que ce n'était pas le cas.

Vous devrez effectuer le travail sur le serveur et fournir un moyen de cryptage pour la communication réseau.

Même alors, il est encore possible de vaincre un tel système (je ne vais pas entrer dans les détails, mais à peu près toutes les applications qui font ce genre de chose sont défaitables). Pour vraiment faire ce travail, vous devez faire une partie du travail sur le serveur au lieu du client afin que les résultats ne puissent pas être simulés.

+0

ouais, je pense que c'est la meilleure façon. côté serveur de la logique ftw. – KJW

2

Pour combien de temps votre programme se vend-il et combien de ventes prévoyez-vous? Si l'une des réponses est inférieure à 50, il est très probable que vous ne deviez pas trop y penser. Oui, vous pouvez décompiler Java, mais si vous vendez à une poignée de personnes que vous connaissez, ils n'auront pas les connaissances pour le faire (ou ils l'auraient fait eux-mêmes). Les jeux se fissurent parce que des millions de personnes veulent y jouer. Un programme aléatoire que vous essayez de vendre pour 10 $ ou quoi que ce soit devrait glisser sous le radar :) Et si elle se fissure, libérer une version 2.0 avec une meilleure protection ...

+0

Bonjour, Je vends une licence par utilisateur (siège). Je cherche donc un moyen de faire respecter cela. Donc, si 50 personnes exécutent le logiciel dans une entreprise, ils seront facturés 50 x 150 $. Si une personne le gère, cela coûte 150 $. Fondamentalement, il comprend le support et la mise à jour pour l'année. – KJW

1

Y at-il un guide sur la façon de mettre en œuvre ceci sans être "craqué" ou "patché"?

Rien de ce que vous pouvez faire, il sera impossible pour quelqu'un de casser votre système de clé de licence. Le plus populaire de votre programme est, plus il est probable que les gens vont tenter une fissure, et quelqu'un va réussir. Je ne suis pas sûr que vous trouverez un bon guide accessible au public sur la façon de rendre la fissuration difficile, car un tel document donnerait également beaucoup d'indices aux crackers pour leurs efforts de fissuration. (Logiciel DRM est une course perpétuelle entre les "bons" et les "méchants".)

IMO, il ne vaut simplement pas la peine d'essayer d'obtenir toutes les dernières baisses de revenus pour votre logiciel. Ces clés craquées ne représentent pas vraiment les ventes perdues. Les chances sont que les gens qui les utilisent n'achèteraient pas votre logiciel de toute façon. Il suffit de les écrire comme une source de revenus, et concentrez vos efforts sur faire de votre logiciel une bonne expérience pour les personnes honnêtes qui ont ont acheté une licence. (La pire chose que vous pouvez faire est d'utiliser un système de DRM qui rend la vie difficile pour les clients honnêtes !!)