IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Créer un "keygen" pour son projet.


Sujet :

Algorithmes et structures de données

  1. #1
    Membre éclairé
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Points : 875
    Points
    875
    Par défaut Créer un "keygen" pour son projet.
    Bonjour,

    J'essaye de trouver un example de création de keygen,
    ceci pour proteger mon application par example..
    Mais je ne trouve nullpart de l'aide pour ce genre d'algo'
    Je programme en C++ sous Code::Blocks.

    Merci d'avance pour un lien ou un petit example

  2. #2
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    En fait, tu as plusieurs solutions :

    Soit tu donnes une seule et unique clé pour ton programme, si l'utilisateur à la clée, c'est bon . Dans ce cas, tu peux soit mettre la clée en clair dans ton programme (if strcmp( cle, "la clée") == 0 ...) soit tu passes par un cryptage de ta clée dans ton programme (par une fonction simple style md5 ...).

    Soit tu as une liste limité de clée et là c'est un peu comme au dessus, tu as une liste de clée et tu les testes une à une .

    Sinon, si tu veux tu as des méthodes mathématiques. En fait tu décide que ta clée obéit à certaines règles (un nombre divisible par 50 et pas par 3, ...). Ton programme saurat identifier les clés facilement et tu peux en générer autant que tu veux.

    PS : je ne suis absolument pas un expert dans le sujet mais je pense que c'est comme celà que l'on fait.

  3. #3
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Tu pars de quelque chose qui identifie uniquement l'ordinateur. Par exemple l'adresse MAC de son interface réseau.

    Pour générer la clé, tu "signes" l'élément identifiant l'ordinateur avec un algo de cryptage à clé publique.

    Le programme vérifie au démarrage que la signature correspond à l'élément identifiant.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 92
    Points : 101
    Points
    101
    Par défaut
    Un problème : il sera toujours possible de changer le code de test en dur pour qu'il soit toujours vrai... d'après moi il sera impossible de complètement verrouiller un exécutable.

    Peut-être en le cryptant totalement et en créant un launcher qui irait chercher la clée sur le net? je ne sais pas, je cherche

  5. #5
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    En fait rien est infaillible (regarde RSA par exemple), même pas les protections matérielles (style dongle), il faut évaluer le rapport difficulté de cassage et facilité d'utilisation.

    Il faudrait savoir ce que le principal interressé veut exactement.

  6. #6
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par @drien
    Un problème : il sera toujours possible de changer le code de test en dur pour qu'il soit toujours vrai... d'après moi il sera impossible de complètement verrouiller un exécutable.
    Face à quelqu'un qui y mets réellement les moyens, non. Mais il est possible de compliquer les choses. En vérifiant plusieurs fois la clé (et pas avec une seule fonction), en répartissant les tests, en encryptant une partie du code et en encryptant dans la clé ce qui permet de désencrypter le code... Tout ce qui est purement logiciel est craquable.

    La chose la plus sure est d'avoir un dongle capable d'exécuter du code et d'y mettre une partie critique de son application.

  7. #7
    Membre confirmé Avatar de benratti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    471
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 471
    Points : 649
    Points
    649
    Par défaut
    Citation Envoyé par PRomu@ld
    Dans ce cas, tu peux soit mettre la clée en clair dans ton programme (if strcmp( cle, "la clée") == 0 ...)
    A eviter absolument... une simple decompilation ou une execution a l'aide d'un debuggeur te permet de trouver simplement ta clef.

    Citation Envoyé par @drien
    Peut-être en le cryptant totalement et en créant un launcher qui irait chercher la clée sur le net?
    C'est une mauvaise solution... a un moment donnee, le code sera en clair dans la memoire pour qu'il puisse etr executer. C'est juste une perte de performance de ton programme mais pas une augmentation de la difficulter a cracker ton logiciel. et de tout facon, un autre probleme sera amener par cette solution : ou cacher la clef de dechiffrement de la partie chiffrée de ton programme ? c'est en sorte un retour a la case depart.

    Bref, je n'ai pas apporte de solution mais ta problematique est la meme que celle qui sont rencontré en obfuscation ( obscursissement en bon francais ), normal, tes motivations sont une des motivations a faire de l'obscurssissement de code. Sur ce sujet particulier, la recherche n'est pas tres avancé pour le moment, donc pas vraiment de solution pour faire l'obscussissement vraiment efficace ( enfin, rien de prouvé )...

  8. #8
    Membre éclairé
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Points : 875
    Points
    875
    Par défaut
    Ouip,
    Merci beucoup pour vos reponses!
    Des qu'il y a une clé c'est ok,
    de toute facon je me vois pas faire un prog'
    que tout le monde cherchera a le craquer,
    mais juste le securiser un peu.

  9. #9
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    N'oublie pas que les protections ne feront qu'embêter les acheteurs potentiels, les crackeurs casseront la clé tôt ou tard si le logiciel est un tout petit peu intéressant.
    Nombreuses sont les protections qui limitent l'utilisateur, mais pas le pirate. Dans la série des dongles à problèmes, je note les iLoks, les Syncrosoft de Cubase SX3, ... dans la série des codes, Native Instrument est assez chiant - on a le mot-clé généré, il faut aller sur le site, le débloquer, rentrer le nouveau numéro dans l'interface -, Adobe, ...

Discussions similaires

  1. La GMF recrute pour son projet
    Par Le Paladin légendaire dans le forum Projets
    Réponses: 20
    Dernier message: 26/09/2006, 16h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo