Bonjour,
Voilà j arrive à l'aboutissement de mon projet. Je voudrais savoir comment faire un système de licence valable que 1 mois ! En gros je voudrais que quand l'utilisateur acheté le logiciel, que celui-ci ne soit plus valide au bout d'un mois.
Pour le coup je ne sais pas comment m'y prendre, j'ai bien penser à faire un truc avec l'heure du PC mais si ils reculent la date le logiciel marcherait à nouveau se que je ne veux pas.
J'ai aussis penser à le faire avec une génération de clé qui serait enregistrer sur une base de données mais la je connais pas trop bien le fonctionnement !
Merci pour l'aide que vous allez pouvoir m'apporter
[..] Système de licence/mois
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
Re: [..] Système de licence/mois
Je n'ai jamais planché sur cette question mais je pense qu'assez simplement en s'inspirant de ce qui se fait déjà.
Lors de l'achat tu genere un code > il faut rentrer ce code a l'ouverture du prog > Si code valide alors création d'un token (crypté) qui contiendrait la durée de validité de la license quelque part dans un dossier d'install.
Ou alors via le web, mais ca veux dire qu'on ne peux pas utiliser le script en mode hors ligne.
Lors de l'achat tu genere un code > il faut rentrer ce code a l'ouverture du prog > Si code valide alors création d'un token (crypté) qui contiendrait la durée de validité de la license quelque part dans un dossier d'install.
Ou alors via le web, mais ca veux dire qu'on ne peux pas utiliser le script en mode hors ligne.
Re: [..] Système de licence/mois
Ouai par le web se serais bien mais je sais pas du tout comment faire !
A moins qu'il y est un logiciel qui permette de faire sa facilement genre qui ajoute un système de licence au logiciel ! Si non j'ai bien chercher du coter des codes déjà existant mais j'en ai pas trouver qui font système de licence
A moins qu'il y est un logiciel qui permette de faire sa facilement genre qui ajoute un système de licence au logiciel ! Si non j'ai bien chercher du coter des codes déjà existant mais j'en ai pas trouver qui font système de licence
Re: [..] Système de licence/mois
Et bien commence a y réfléchir, fais un bout de script et reviens 
Ou va directement dans la partie "Demande de script".
Comme je l'ai dis je n'ai jamais fais quelque chose dans ce genre, mais je suppose qu'il faut gerer ca comme un compte utilisateur, avec une base de donnée, et une clé unique.
Ou va directement dans la partie "Demande de script".
Comme je l'ai dis je n'ai jamais fais quelque chose dans ce genre, mais je suppose qu'il faut gerer ca comme un compte utilisateur, avec une base de donnée, et une clé unique.
Re: [..] Système de licence/mois
Tu peux utilisé le PHP pour généré des clées avec le module OpenSSL.
Du coup tu enregistres tout ça dans la base de donnée (MySQL).
Quand la personne se connecte sur ton logiciel, tu fais un simple envoie au serveur, et si il a les bonnes coordonnés dans ce cas là tu lui affiches tout ce que tu veux et tu continues.
Après il faut pensé mal (comme tout le temps) pour évité les failles.
Par exemple: Si la personne n'a pas internet, il peut aussi décompilé ton script, à toi de faire en sorte que la clé ne soit pas stocker sur le logiciel, mais qu'il la récupère par InetGet.
En fait le mieux c'est que tout le monde ignore ton système, plus il sera façonné par toi, moins tu te feras avoir.
Je ne sais pas si j'ai été assez clair.
Donc je recommence l'explication...
1. La personne s'inscrit sur ton site.
2. La personne télécharge ton programme.
3. La personne se connecte sur ton programme, soit tu génères une clé à l'inscription, soit à sa première connexion (à voir du coté de PHP pour tout sa).
4. Tu écris le temps restant par rapport à la base de donnée.
Cette version est sécurisé je pense, car il accède pas à la base de donnée, il ne fait que dire à PHP envoie moi les données.
Donc même si ta version est décompilé finalement il n'y a rien.
Et puis il me semble que les dernières versions d'autoit ne sont pas décompilable. Enfin j'espère.
Du coup tu enregistres tout ça dans la base de donnée (MySQL).
Quand la personne se connecte sur ton logiciel, tu fais un simple envoie au serveur, et si il a les bonnes coordonnés dans ce cas là tu lui affiches tout ce que tu veux et tu continues.
Après il faut pensé mal (comme tout le temps) pour évité les failles.
Par exemple: Si la personne n'a pas internet, il peut aussi décompilé ton script, à toi de faire en sorte que la clé ne soit pas stocker sur le logiciel, mais qu'il la récupère par InetGet.
En fait le mieux c'est que tout le monde ignore ton système, plus il sera façonné par toi, moins tu te feras avoir.
Je ne sais pas si j'ai été assez clair.
Donc je recommence l'explication...
1. La personne s'inscrit sur ton site.
2. La personne télécharge ton programme.
3. La personne se connecte sur ton programme, soit tu génères une clé à l'inscription, soit à sa première connexion (à voir du coté de PHP pour tout sa).
4. Tu écris le temps restant par rapport à la base de donnée.
Cette version est sécurisé je pense, car il accède pas à la base de donnée, il ne fait que dire à PHP envoie moi les données.
Donc même si ta version est décompilé finalement il n'y a rien.
Et puis il me semble que les dernières versions d'autoit ne sont pas décompilable. Enfin j'espère.
Re: [..] Système de licence/mois
Ouai sa me semble bien mais je ne connais pas le php donc le fait de faire la relation entre autoit, le php et la base de donner c'est un peut chaud a mon niveau ! Merci bien de ta réponse complète et précise, je vais quand mémé voir se que je peut faire avec sa !mica2727 a écrit :Tu peux utilisé le PHP pour généré des clées avec le module OpenSSL.
Du coup tu enregistres tout ça dans la base de donnée (MySQL).
Quand la personne se connecte sur ton logiciel, tu fais un simple envoie au serveur, et si il a les bonnes coordonnés dans ce cas là tu lui affiches tout ce que tu veux et tu continues.
Après il faut pensé mal (comme tout le temps) pour évité les failles.
Par exemple: Si la personne n'a pas internet, il peut aussi décompilé ton script, à toi de faire en sorte que la clé ne soit pas stocker sur le logiciel, mais qu'il la récupère par InetGet.
En fait le mieux c'est que tout le monde ignore ton système, plus il sera façonné par toi, moins tu te feras avoir.
Je ne sais pas si j'ai été assez clair.
Donc je recommence l'explication...
1. La personne s'inscrit sur ton site.
2. La personne télécharge ton programme.
3. La personne se connecte sur ton programme, soit tu génères une clé à l'inscription, soit à sa première connexion (à voir du coté de PHP pour tout sa).
4. Tu écris le temps restant par rapport à la base de donnée.
Cette version est sécurisé je pense, car il accède pas à la base de donnée, il ne fait que dire à PHP envoie moi les données.
Donc même si ta version est décompilé finalement il n'y a rien.
Et puis il me semble que les dernières versions d'autoit ne sont pas décompilable. Enfin j'espère.
- jchd
- AutoIt MVPs (MVP)

- Messages : 2282
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [..] Système de licence/mois
Si : le code en clair, prêt à être court-circuité.Donc même si ta version est décompilé finalement il n'y a rien.
C'est du rêve.Et puis il me semble que les dernières versions d'autoit ne sont pas décompilable.
Caramba, encore raté !Enfin j'espère.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Re: [..] Système de licence/mois
Enfin, après tu peux toujours obsfuquer ton code source, et encore... Vu que c'est juste cacher, sa empêche pas de le trouver...
Je pense qu'il faut juste trouver une méthode infaillible entre le script, et un serveur externe. Tout le monde essaieras de décompiler son programme (sans être méchant) c'est dans la nature humaine de voir ce qui se cache derrière. Mais après c'est à lui de bloquer le programme contre la décompilation, et mettre une partie impossible à être exécuté. Comme par exemple le téléchargement d'une DLL manquante, ou je ne sais pas un truc comme ça quoi.
Faire en sorte que le programme ne fonctionne que partiellement.
En fait, quand j'y réfléchis, si il décompile le programme, il a juste à le refaire, supprimer la partie qui se connecte... Donc AutoIt + Serveur, sa fonctionnerait pas non plus...
ll faudrait être super balèze pour développer un programme sécurisé. Et surtout se prendre la tête pendant des heures, voir des jours, et des semaines...
Mais si on imagine, un programme qui se connecte (sa il peut le supprimer via la décompilation). Si tu lui donnes pas toute les DLL, dans ce cas il est obligé de se connecter, mais il a tout en claire, donc il connait la clé du registre... Et au final il pourras quand même récupéré la DLL.
Ou alors il faut un programme avec vérification de checksum...
Et la tu es sur que le programme n'a pas été recompilé, et sa renvoie le checksum au serveur.
Mais comme je dis ça doit être super galère à faire et tu vas te prendre la tête sur plein de chose.
Je pense qu'il faut juste trouver une méthode infaillible entre le script, et un serveur externe. Tout le monde essaieras de décompiler son programme (sans être méchant) c'est dans la nature humaine de voir ce qui se cache derrière. Mais après c'est à lui de bloquer le programme contre la décompilation, et mettre une partie impossible à être exécuté. Comme par exemple le téléchargement d'une DLL manquante, ou je ne sais pas un truc comme ça quoi.
Faire en sorte que le programme ne fonctionne que partiellement.
En fait, quand j'y réfléchis, si il décompile le programme, il a juste à le refaire, supprimer la partie qui se connecte... Donc AutoIt + Serveur, sa fonctionnerait pas non plus...
ll faudrait être super balèze pour développer un programme sécurisé. Et surtout se prendre la tête pendant des heures, voir des jours, et des semaines...
Mais si on imagine, un programme qui se connecte (sa il peut le supprimer via la décompilation). Si tu lui donnes pas toute les DLL, dans ce cas il est obligé de se connecter, mais il a tout en claire, donc il connait la clé du registre... Et au final il pourras quand même récupéré la DLL.
Ou alors il faut un programme avec vérification de checksum...
Et la tu es sur que le programme n'a pas été recompilé, et sa renvoie le checksum au serveur.
Mais comme je dis ça doit être super galère à faire et tu vas te prendre la tête sur plein de chose.



