|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2005 Messages : 93 ![]() |
Bonjour,
Après avoir développé un petit programme de gestion avec BD Access et et Applicatif client Access (mde), je souhaiterais limiter l'acces aux personnes qui commandent une licence. J'ai 2 questions à ce sujet: 1. Question générale: Quelle est la meilleures manière de précéder pour réaliser cela, sachant que je souhaiterais avoir une licence par utilisateur ? 2. Est-ce qu'il faut inclure cela dans le mde ou dans le logiciel de déploiement ? Je n'ai pas vraiment trouvé d'informations à ce sujet alors je compte sur vos expériences et vos conseils. Merci beaucoup skeut |
|
|
00
|
|
|
#2 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 491 ![]() |
Le sujet a déjà été abordé il y a longtemps.
Le problème c'est qu'il n'y a pas de solution réellement efficace avec Access seulement. Et si on en juge par le nombre de logiciels craqués disponibles sur le net, ailleurs non plus. Quel degrés de résistance au piratage veux-tu ? A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#3 | |
|
Nouveau Membre du Club
![]() Inscription : septembre 2005 Messages : 93 ![]() |
Bonjour marot_r
Merci pour la réponse. Citation:
![]() Plus précisément, mon but est de connaître les utilisateurs de l'application (combien? / qui?). L'idéal serait d'offrir l'application p.ex. 45 jours en démo et si l'utilisateur souhaite continuer, il doit commander une licence. En définitive, je n'ai pas besoin d'un degrés de sécurité digne du FBI mais juste qqch pour obliger l'utilisateur moyen à s'annoncer et ainsi avoir un contrôle. Si des experts s'attaquent à l'application, ça ne me dérange pas (si ça peut les occuper j'ai bien cherché de la doc sur le sujet mais je n'ai rien trouvé de concluant c'est pourquoi je me suis adressé ici. a+ et merci skeut |
|
|
|
00
|
|
|
#4 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 491 ![]() |
Le problème vient des possibilités de copies. Une fois le numéro de licence connu. Dès qu'un de tes utilisateurs à la licence, il peut utiliser ton appli où il veut et en autant d'exemplaires qu'il le souhaite.
Pour la période de test, une méthode ultra simple consiste à mettre en place un fichier quelque part sur le disque. Dans ce fichier tu enregistre la date et l'heure de la première utilisation. Tu peux utiliser un fichier texte en appliquant un ou exclusif (xor) avec une clef que tu mets dans ta base. quand on fait (a xor b xor b) on obtient a de nouveau. Pour ce qui est du numéro de licence, tu pourrais faire un petit formulaire qui fait un hachage sur le numéro fourni (ex : tu prends le code ascii de tous les caractères et tu les additionnes. Note : c'est assez faible comme protection.) Si cela donne un nombre connu de la base tu laisse passé (sinon tu refuses) et tu stockes le numéro entré hors de la base et encodé (xor de nouveau). Tu pourrais aussi utiliser une clef dans les registres pour rendre la copie plus délicate. Pendant la période d'essais tu pourrais mettre 0 ou ne pas exiger de numéro de licence. Tu peux enfin mettre une notice légal disant que ton produit est protégé par les lois sur les droits d'auteur ... mais cela n'est pas très disuasif. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2005 Messages : 93 ![]() |
oui effectivement, dès que la licence est connue, rien n'empêche l'utilisateur de divulguer la clé.
Pour le reste, merci pour les conseils, je vais essayer de mettre cela en place. Je suis un peu plus au clair maintenant concernant cette problématique. à bientôt. skeut |
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Inscription : janvier 2006 Messages : 581 ![]() |
Salut,
Je viens de parcourir ton post, il date un peu mais voici une solution. Tu peux utiliser une clé USB comme dongle, les petite 128MB ne coûte plus très cher. Tu entre le N° de la cléf dans le programme et il contôle si elle est présente, si oui le prog continue sinon il s'arrête. Evidemment, si tu as plusieurs PC il te faudra autant de clé USB, mais tu peux mettre tous les N° dans une condition. A+ |
|
|
00
|
|
|
#7 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 491 ![]() |
Bonne idée mais comment empèches-tu la copie de la clef ?
Lis-tu le numéro de série de la clef ? A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 098 ![]() |
Vous pouvez également utiliser les N° ID unique des éléments de la machine
Ici le code pour le CPU : http://vb.developpez.com/faq/?page=Systeme#cpuid Dans la même veine il y a celui du disque C. Ce sont des pistes. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2005 Messages : 93 ![]() |
Merci à tous pour les pistes; je vais très bientôt me pencher sur la question et tester l'une ou l'autre des propositions.
Je ne manquerai pas de vous faire part de la solution choisie avec les inconvénients et avantages. à bientôt. skeut |
|
|
00
|
|
|
#10 |
|
Membre confirmé
![]() Inscription : novembre 2006 Messages : 467 ![]() |
Une solution que j'utilise:
1-au démarrage de l'appli le code compare un id machine (ex le ns processeur) codé avec un algo (présent sur le forum) avec une clé présente dans une table de la frontale. 2-au premier démarrage (suite à l'installation) la comparaison n'est pas bonne (cf point 11), un formulaire apparait demandant de saisir une clé. 3-si la cé saisie n'est pas la bonne on ferme l'appli. 4-Le formulaire présente l'id machine et demande de le communiquer à l'éditeur (toi...) 5-le client te communique son id machine. 6-tu saisi l'id dans une base "keygen" qui code l'id avec le même algo que celui sur la machine du client. Cette même base stocke tout dans des tables pour te permettre de gérer et mémoriser les cés que tu as fournies. 7-tu communiques la clé au client, la comparaison est bonne. La clé étant mémorisée dans une table la comparaison sera bonne lors de toutes les ouvertures futures de la base. 8- La clé est propre à la machine. Tu peux combiner plusieurs identifiants pour corser l'affaire.id processeur + id disque. 9- Le codage est dans le code, donc protégé si mde (dites moi si je me fourvoie) 10- Si tu combines les id machine tu peux vérifier si le client te racontes des bobards genre "j'en eu un crash disque" alors qu'en fait il s'agit d'une autre machine. 11-Ce codage est valable même dans ta base de développement (c'est à dire que même toi tu as une clé), c'est même cette clé qui part avec le package et qui sera reconnue comme mauvaise lors de la première exécution chez le client. Rien de spécial à faire quand tu génères ton pack. 12-Tu peux gérer des options avec ce système (ex: option 1 je code avec 12 itérations, option 2 avec 13 itérations etc), le formulaie demandant la clé demande aussi un numéro d'option. (pas testé) 12- Si t'es piraté c'est que t'es bon
__________________
Un seul conseil: la règle des 3S. |
|
|
00
|
|
|
#11 | |
|
Invité de passage
![]() Inscription : juin 2005 Messages : 7 ![]() |
Citation:
J'ai déjà trouvé sur le net des sociétés qui offrent des solutions tout en un (il fournisse la clé et le programme qui crée une DLL lié à la clé.. à l'ouverture d'Access une macro fait appel à la DLL qui vérifie la présence de la clé) J'aimerais bien essayer de le faire par moi même mais mes connaissance en programmation en VB sous access ne me le permette pas pas encore de créer un code qui testerait les numéros de séries des clés présents dans le PC. Pouvez-vous m'aider ou m'orienter pour mes recherches. merci d'avance |
|
|
|
00
|
|
|
#12 | ||||||
|
Membre confirmé
![]() Inscription : janvier 2006 Messages : 581 ![]() |
Salut,
Pour ceux que cela intéresse. Voici le code A mettre dans ton form de démarrage Avant les procédures Code : Code :
Code : Code :
Code : Code :
Ensuite place un point d'arrêt au niveau de la ligne en vert. Ensuite le code va s'arrêter et tu positionne la souris sur Drive, tu verra en principe "c:" continue le code avec F8 au prochain passage tu verra une autre lettre de lecteur etc etc.... Quand tu tombe sur la lettre de ta clé USB, tu continue avec F8 et sur la ligne en bleu tu regardes le N° de ta clé en te positionnant sur SerialNumber. Tu copie le N° à la place du N° qui est en rouge. Tu sauve et en principe si ta clé est présente, le prog démarre sinon il quitte. Bien sur, c'est pour une appli sur un PC Mais tu peux mettre un N° de clé différent et faire un if or then ou tu place un N° différent dans les appli avec la clé qui va avec. Fait une copie de ta base avant modif, on est jamais assez prudent. A+ |
||||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com