[..] Système de Protection

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 15:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Status : Hors ligne

[..] Système de Protection

#1

Message par DJSIR »

Bonjour, tout le monde.

Tout d'abord je sais qu'il y a plein de posts sur ce sujet, mais la j'ai plusiueurs questions et surtout plusieurs problèmes

Alors j'explique. J'ai fait un petit outil (avec AutoIt) et j'aimerais le vendre.
Pour le protéger avec un numéro de licence, j'ai essayé de fouiller dans le forum Anglais et j'ai trouvé "XProTec.au3", j'ai pas réussi à le faire fonctionner :( . Enfin, après j'ai décidé de faire le mien, je vous explique.

L'utilisateur lance le logiciel.
> On télécharge le fichier SSB.ini sur le net et on vérifie si il n'est pas déja enregistré (expliquation après)
Si Oui, lancement du logiciel sinon, suite :
> Une clé est générée localement
Il doit s'enregistrer (adresse eMail, Nom, Prénom, etc), et on quitte
> Je crée une clé dans le registre bien cachée et je m'envoie un Mail avec ce qu'il à rempli, son IP locale et son IP Publique.
Manuellement : Je l'enregistre sur le net dans le fichier SSB.ini

Code : Tout sélectionner

[IP PUBLIQUE]
IP LOCAL=CLÉ CODÉE (StringToBinary)
Je lui envoie un Mail avec la clé.
Il peut utiliser le logiciel sur son PC.

Donc, voila mes questions :
Ce système est t-il facilement incontournable ?
Quelqu'un à t'il réussi à faire fonctionner "XProTec.au3" ? Si Oui, Comment ?
*Pour le mail, j'arrive pas... en faite je ne sais pas avec quel adresse envoyer, tout le monde n'a pas Free chez soi.
► Afficher le texteCode de mon Mail
Merci pour vos réponses d'avance !
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Système de Protection

#2

Message par Iste »

Sujet nettoyé, vendre un programme est autorisé

Ce système est t-il facilement incontournable ?
Oui car de toute facon on fait de l'autoit ^^
Mais si on considère que 'il' ne décompile pas, il ne pourra pas passer outre

*Pour le mail, j'arrive pas... en faite je ne sais pas avec quel adresse envoyer, tout le monde n'a pas Free chez soi.
Utilise une page php qui se chargera d'envoyer le mail ;)


Sinon, pour sécuriser ton log, voici ce que je pense etre la meilleur solution (en faisant comme si les .exe n'étaient pas décompilable) et la plus simple surtout

Etape 0 : Le client demande a avoir le logiciel
Etape 1 : Toi ou une page web crée une clef unique, et l'ajoute dans une base de donné (ce qui au passage assurera qu'elle est unique)
Etape 2 : Le logiciel génère une GUID et l'envoi a une page php
Etape 3 :La GUID est ajouté a coté de la clef payée

Voila, il est enregistré
Chaque lancement, demander a une page php si la GUID est 'valide' ou non
En cas de changement de PC, il leur suffira de te mail avec la Clef unique pour preuve, et toi de changer la GUID associée

Bonne chance en tout cas !
Signez ici
Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 15:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Status : Hors ligne

Re: [..] Système de Protection

#3

Message par DJSIR »

Merci pour cette réponse bien claire. Je ne connaisait pas le GUID.
Pour ne pas décompiler les EXE, il faudrait le EXE AutoIt, lancé par un autre programme ?

Et donc j'enregistre le GUID dans la base de données du site ? (Free)

Mais en te relisant, je me dit que si le client passe l'EXE a quelqu'un d'autre, lui aussi il fontctionnera. Faut vérifier que la clé n'existe pas dans la BDD et en plus, il faut compiler le logiciel avec une clé différente a chaque fois !

PS : Je suis une bouze en PHP alors si quelqu'un s'y connait : Au boulot :lol:

EDIT : Mon UUID est "FFF-FFF-FFF-FFF-FFF" enfin que des F, c'est normal ?
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11818
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Système de Protection

#4

Message par Tlem »

Pour avoir une protection plus ou moins efficace, il faut l'inventer.
Si vous en discutez ici, il sera facile d'en comprendre le mécanisme et éventuellement de la contourner.

Il faut aussi garder à l'esprit que trop de protection peut nuire à votre création, car si cela bloque l'utilisateur, celui-ci ira voir ailleurs.
De plus un logiciel protégé incite plus facilement une recherche de piratage qu'un logiciel qui n'est pas truffé de protection.

Soyez simple et efficace, sinon votre création n'aura aucun succès. ;)
La solution du Shareware ou du partagiciel est aussi une bonne option.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Système de Protection

#5

Message par Iste »

DJSIR a écrit :Pour ne pas décompiler les EXE, il faudrait le EXE AutoIt, lancé par un autre programme ?
Oui et non, car de toute facon, on pourra récup l'executable au3.
Ne cherche pas l'ultra sécurité, tout ceux qui voudrons le pirater y arriveront.
DJSIR a écrit :Et donc j'enregistre le GUID dans la base de données du site ? (Free)
Benheu, oui, a coté de la clef
DJSIR a écrit :Mais en te relisant, je me dit que si le client passe l'EXE a quelqu'un d'autre, lui aussi il fontctionnera.
Bah non justement ! Il ne fonctionnera pas !
Par contre, si le gars formate son ordi, ca ne marchera plus non plus, d'ou l'idée de la clef, pour prouver que c'est bien a lui,meme si de toute facon, apres, l'ancienne GUID ne marchera plus. Donc au mieux on peut 'voler' le logiciel d'un ordi, mais pas le faire marchr sur deux
DJSIR a écrit :Faut vérifier que la clé n'existe pas dans la BDD
C'est super simple, sql le fait pour toi ;)
DJSIR a écrit :et en plus, il faut compiler le logiciel avec une clé différente a chaque fois !
Bah non ! j'ai un peu mal expliqué ;
Le client dit 'je veux acheter !' il donne sa GUID, en échange ta page php donne une clef générée au hasard
Le logiciel du client s'instal, et note la clef quelque part pour pouvoir te la redonner plus tard si il faut
DJSIR a écrit :PS : Je suis une bouze en PHP alors si quelqu'un s'y connait : Au boulot :lol:
Moi non plus j'y connaissais rien, mais je sais faire tout cela maintenant, apres avoir regardé le tuto php du site du zéro ;)
DJSIR a écrit :EDIT : Mon UUID est "FFF-FFF-FFF-FFF-FFF" enfin que des F, c'est normal ?
Ca par contre c'est un vrai probleme, je vais reporter ca sur le 'topic officiel' :s
Quel est ton OS ?

Bref, je vais essayer de mieux expliquer ma méthode plus tard. ;)
Signez ici
Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 15:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Status : Hors ligne

Re: [..] Système de Protection

#6

Message par DJSIR »

je vais regarder tout sa. Je tourne sous Windows trust 4 (Windows server 2003)
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Système de Protection

#7

Message par Iste »

Win server, oui c'est peut etre le probleme :s

bref voila pour les explications un peu plus claires,

Enregistrement

Une foi le logiciel téléchargé, il t'envoie sur une page php en lui envoyant en argument ta GUID

Code : Tout sélectionner

$clef = _INetGetSource('http://monsie.fr/payment.php?guid=FFF-FFF-FFF')
(il faudra surement jouer avec une page ie gérée par au3, pour que l'user puisse payer, et que le script puisse recuperer la clef, ca serait plus pratique, bien qu'il y ai d'autre solutions)

La page php demande de payer, une foi fait, elle inscrit dans la BDD la GUID, puis a coté, une clef qu'elle génère au hasard, apres avoir vérifier qu'elle n'existait pas déja

Code : Tout sélectionner

GUID            Clef
FFF-AAA-885     5965413
457-A5A-45A     4786456
55F-87A-236     4862114
485-B48-145     8789562
[color=#FF0000]578-954-489      4865431[/color]
Une foi fait, la page php renvoi la clef

Code : Tout sélectionner

echo $clef;
Le script la récupère donc, l'affiche, l'écrit dans un fichier, la page php peu aussi envoyer un email, bref, ca faut pas le perdre

Vérification au démarrage

Le logiciel regarde si il a une clef d'ecrit quelque part, si oui, ben il va pas redmander de payer :P
mais quand meme vérifier si le logiciel a bien été payé
Pour cela, il appel une autre page php avec sa GUID

Code : Tout sélectionner

$verif = _INetGetSource('http://monsie.fr/verif.php?guid=FFF-FFF-FFF')
La page php regarde si la GUID correspond a une clef, si oui, elle renvoi 1, sinon 0. Coté autoit,

Code : Tout sélectionner

If Not $verif Then exit
et hop !


Ceux qui voudront le pirater n'auront pas trop de mal, mais de toute facon, aucune sécurité n'est valable a 100%, alors autant prendre la moins contraignante pour les clients 'légaux'
Seul probleme pour le client légal, si il change d'ordi, donc de GUID, il devra envoyer un mail avec sa clef, pour que tu puisse changer la GUID assosier dans la BDD ;) (tu peux aussi automatiser l'opération)
Mais sinon, ca me semble la meilleur solution pour éviter les petits pirates, sans trop faire chier le monde
Signez ici
Habibsbib
Niveau 7
Niveau 7
Messages : 393
Enregistré le : dim. 30 août 2009 13:49
Localisation : Euh...Verticale, entre le siège et l'écran...
Status : Hors ligne

Re: [..] Système de Protection

#8

Message par Habibsbib »

Si tu veux DJSIR, j'ai une connaissance qui possède une clé de cryptage 130 bits (pour les non initiés, cliquez ici.). Ca t'interesse ? Après, ca serait assez facile de l'intégrer dans ton programme, et la probabilité que quelqu'un le décrypte est quasi-impossible.

Cordialement, Habibisbib.
Modifié en dernier par sylvanie le mer. 14 oct. 2009 21:44, modifié 1 fois.
Raison : terme initial pouvant être interprété péjorativement
Répondre