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

Outils Delphi Discussion :

Protéger mon programme contre la copie


Sujet :

Outils Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Protéger mon programme contre la copie
    Bonjour,
    voila mon histoire :

    j'ai un programme sous delphi, que je veux proteger contre la copie.
    le support que j'ai choisi c'est le CD-R.
    la methode : j'ai pensé qu'il était possible d'écrire un programme qui lit le numéro de série du CD-R qui le porte.en utilisant GETVOLUMEINFORMATION
    le probleme:
    le CD-R vierge ne porte pas de N° de série, alors j'ai copié dans une premiere session de gravure un fichier quelquonque.
    j'ai pris le n° de série créé,et je l'ai inclu dans mon programme.
    j'ai gravé le CD-R avec mon programme dans la deuxiemme session de gravure.
    mais le probleme auquel je ne m'attendais pas c'est qu'un nouveau n° de série s'est créé, et je ne sais pas comment acceder au N° de série de la premiere session.
    est ce qu'il ya un moyen avec delphi d'acceder au n° de série de la premiere session de gravure d'un CD-R ????????
    je vous remerci de m'avoir lu.

  2. #2
    Membre actif

    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2003
    Messages
    286
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 286
    Points : 255
    Points
    255
    Par défaut
    Je ne vois pas comment tu peux faire une protection via le numéro de série du disque gravé puisque tu ne controle pas (je me trompe ?) ce numéro de série !!
    Pourquoi ne pas prendre le numéro de série du disque dur (en incluant un petit algorithme de vérification avec une clé) par exemple ? c'est plus simple peut-etre ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Points : 711
    Points
    711
    Par défaut
    Bonjour,

    Ce genre de protection n'arrêtera pas grand monde, et pas longtemps, c'est un des premiers trucs qu'on apprend à cracker.

    Ceci étant dit, seuls les programmes présentant un intérêt assez général sont crackés par des habitués.
    Si le tien s'adresse à des néophytes, et/ou à un groupe restreint, ça peut suffire...
    [sauf s'il y en a un(e) qui sait cracker, ou connaît quelqu'un qui etc...]

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 210
    Points : 190
    Points
    190
    Par défaut
    et pourquoi pas un truc comme ça (style clé publique / clé privée) :
    à l'installation, tu crée une clé propre à chaque utilisateur (en fonction n° série DD ou carte mère par exemple)
    Tu transmet ce n° (crypté) par internet à ton site que tu stocke dans une DB (procédure d'inscription)
    A chaque fois que le logiciel est lancé, il se connecte à ton site, donne sa clé (crypté mais avec procédé différent de celui de l'inscription) et son adresse IP (cryptée aussi) et reçois un code qui lui permet de lui permet de se lancer. Le code peut être généré en fonction de la date par exemple.

    Si deux fois le même code sur 2 ip différentes, il se lance pas...

    Bon d'accord, faut que tes utilisateurs soient connecté en permanence (type ADSL), mais tu peux faire en sorte que ton logiciel fonctionne pendant 1 semaine sans ré-interroger ton site.

    C'est un peu lourd, mais tu garde le controle un petit peu plus.

    Y'a plein d'autres solutions (utilise google ou lis ce forum), mais la solution du n° de série du CD, à mon avis, c'est rapé.

    Si tu veux protéger ton appli, faut que tu sois plus "imaginatif" (certains dirait "tordu") que les personnes qui vont vouloir la cracker. Beaucoup de personnes préfèreront acheter ton appli plutôt que de devoir faire des manips compliquées (histoire de temps) et risquées (histoire de résultat) pour l'installer.

    Mais comme tu as du le voir sur le forum, si quelqu'un veut vraiment passer outre tes protections, y'a pas grand chose qui l'arrètera (sauf éventuellement le temps dont il dispose )

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Points : 711
    Points
    711
    Par défaut
    Bonjour,
    Citation Envoyé par diam's
    et pourquoi pas un truc comme ça (style clé publique / clé privée)
    ...
    C'est un peu lourd, mais tu garde le controle un petit peu plus.
    Ca relève du même principe que la proposition de base, et c'est tout aussi facile à cracker.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 396
    Points : 640
    Points
    640
    Par défaut
    Tu peux ajouter un niveau supplémentaire en cryptant les dfm principales de ton programme avec une clef basée sur le CRC de ton exe, de cette façon si ton programme est "patché" pour contourner ta protection il ne pourra plus ouvrir tes fiches, c'est une des solutions que j'utilisais lorsque help&web était un shareware .

    Regarde du coté ReadComponentResFile et des fonctions associées, tu devras virer {$R *.DFM} du source des fiches cryptées et embarquer les ressources (DFM) cryptées

  7. #7
    Membre actif

    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2003
    Messages
    286
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 286
    Points : 255
    Points
    255
    Par défaut
    avec une clef basée sur le CRC de ton exe
    Tu trouve dans le prog (désassemblage) a quel endroit est déterminé ce CRC, une fois que tu sais quel doit etre le bon CRC, tu cracke ton prog, et tu définit une constante égale au CRC .. et ca marchera a chaque fois ... (en gros ^^)

    Bref, ce ne sera pas mieux ...

    Je ne pense pas qu'il faille se compliquer la vie ....
    Une (ou 2 ou + ...) petites protections suffiront.
    De toute facon, quelqu'un de motivé pourra le casser ton prog, donc inutile de passer + de temps a la protection qu'au logiciel lui-même.

    Et si le logiciel devient un gros logiciel, alors il existe des protections payantes au pire ...

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 396
    Points : 640
    Points
    640
    Par défaut
    oui c'est sur que si un gars veut passer des heures et des heures à cracker il y arrivera mais en couplant plusieurs petites astuces tu rallonges le temps nécessaire aux petits malins pour casser tes protections, déjà avant qu'il comprenne pourquoi son patch ne marche pas il va passer pas mal de temps car bien sur ton programme ne doit signaler aucune erreur ...

    dans mon cas j'ai bien vu la différence entre avant et après

  9. #9
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut

    Citation Envoyé par exoseven
    Tu peux ajouter un niveau supplémentaire en cryptant les dfm principales de ton programme avec une clef basée sur le CRC de ton exe, de cette façon si ton programme est "patché" pour contourner ta protection il ne pourra plus ouvrir tes fiches, c'est une des solutions que j'utilisais lorsque help&web était un shareware .

    Regarde du coté ReadComponentResFile et des fonctions associées, tu devras virer {$R *.DFM} du source des fiches cryptées et embarquer les ressources (DFM) cryptées
    cela m'intéresse, tu pourrais nous écrire un petit tuto ?

    Citation Envoyé par basinfo
    Je ne pense pas qu'il faille se compliquer la vie ....
    Une (ou 2 ou + ...) petites protections suffiront.
    De toute facon, quelqu'un de motivé pourra le casser ton prog, donc inutile de passer + de temps a la protection qu'au logiciel lui-même.

    Et si le logiciel devient un gros logiciel, alors il existe des protections payantes au pire ...
    d'accord avec toi, mais bon si une petite protection peut être implémentée sans beaucoup réfléchir pourquoi pas ? c'est toujours mieux que rien

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 396
    Points : 640
    Points
    640
    Par défaut
    Je pense ouvrir une section delphi sur mon blog où parlerai de certaines techniques que j'utilise dans mon programme donc pourquoi pas sur ce point particulier et si j'ai le courage de l'enrichir je le proposerai à developpez.com mais pas avant fin septembre

  11. #11
    Membre averti Avatar de Bejaia-In
    Inscrit en
    Avril 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 365
    Points : 392
    Points
    392
    Par défaut
    Ce n'est pas la peine de protéger ton application contre la copie, c'est la plus facile a cracker, protège-la plutôt contre une utilisation frauduleuse.
    En général une protection par le N° de serie de la partition du disque ou elle est installé est largement sufisante.

  12. #12
    Membre actif Avatar de touhami
    Inscrit en
    Avril 2002
    Messages
    327
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 327
    Points : 264
    Points
    264
    Par défaut
    bonjour ,
    moi j'ai essayer de proteger mon soft par N° serie du Disque dure mais c'est ce n'est pas une meilleur solution :
    1- le n° de serie du disque dure se change chaque fois que tu formatte ton disque x-a-d que ton Client t'appelle a chaque Insyallation du soft.
    2- il existe des logiciel qui puevent changer le N° de serie de disque dure.
    alors

  13. #13
    Membre habitué Avatar de maamar1979
    Inscrit en
    Mai 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 174
    Points : 134
    Points
    134
    Par défaut
    Salam

    Protéger son application d’un éventuel piratage ! C’est penne perdu mon ami, car quelle que soit la protection apporter un cracker la briserai tot ou tard et il y mettra le temps qu’il faut pour y arriver. Pour protéger tes logiciels du piratage tu les met freeware ou tu les vend à des prix raisonnable.

    Cela dit tu peut rendre la tache difficile au crackers en mettant plusieurs points de vérification dans ton programme pour l’authentification, et tu change le comportement de ton programme de tel sorte qu’il donne des résultats erronés par exemple sans mentionner aucune erreur bien sur, cela énerve en générale un crackers qui va se retrouver avec un programme cracker à recracker lol.

    La meilleur protection pour le moment est soit l’enregistrement via Internet (contraignent les utilisateur à avoir une connexion) soit par une clé matériel (Dongle), mais qui reste toutefois crackable .

    pour conclur :

    - si ton application est specifique à un client donné t'a rien à craindre car ca n'interessera personne.

    - si c'est pas le cas met là freeware .

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 210
    Points : 190
    Points
    190
    Par défaut
    Je trouve la solution de Maamar rigolote (cette idée de laisser les crackers faire ce qu'ils veulent, mais de donner des résultats erronés )

    Et je suis tout a fait d'accord quand il dit que la meilleure soluce anticrack, c'est le freeware ou le prix raisonnable.

    Mais un collègue m'a dit qu'il avait autrefois vu un projet dans le quel, à chaque enregistrement de fichier, un code (style hash MD5) était rajouté dans le fichier ainsi créé. Lequel fichier ne pouvait être chargé directement par le logiciel en question, mais via 2 autres 'sous-programmes' (des dlls ???). Il prétend que la protection ne se trouvait pas que dans le logiciel lui-même mais aussi pour partie dans chaque fichier généré. Ainsi, un programme cracké ne pouvait pas/plus ouvrir les fichiers réalisés avec un programme original (l'inverse était vrai aussi). Je ne sais ABSOLUMENT pas comment ça pouvait marcher, ni même si c'est vrai (il travaille dans un secteur ou la roublardise est un art ), mais bon...

  15. #15
    Membre actif

    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2003
    Messages
    286
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 286
    Points : 255
    Points
    255
    Par défaut
    Il prétend que la protection ne se trouvait pas que dans le logiciel lui-même mais aussi pour partie dans chaque fichier généré
    ca m'étonnerais ... certes les fichiers seront signés et ne fonctionneront pas sur une version mal crackée (genre le gars qui n'a pas testé l'ouverture d'un fichier ^^)
    Mais il suffira de chercher le "test" et de l'"inverser" pour de toute facon casser la protection (ou alors c'est bien pensé ...)

    Mais le plus simple et tout de meme efficace est la mise en place de petites protections a plusieurs endroits, et ensuite compresser avec un packer/protecteur gratuit (mew, WinUpack ...)
    Ca sera pas la grande muraille de Chine mais bon ^^

    Exemples d'APIs de protection (connues) :
    IsDebuggerPresent
    MapFileAndCheckSumA
    FindWindowA
    CreateFileA (Softice)
    GetTickCount
    CreateToolhelp32Snapshot
    rdtsc (asm)
    EnumWindows
    ...

  16. #16
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    petite suggestion

    Dans ce cas pourquoi ne pas livrer un 2eme CD (tu mets ce que tu veux dessus ...) ce CD aura un NR de série sur lequel tu te basera donc ...

    Tu installes ton soft sur un autre CD - et a chaque lancement (ou tout les x lancements) il vérifie la présence de l'autre CD par rapport à son NR de série

    Par contre je ne sais pas si lorsque l'on copie un CD de disque a disque si le NR DE SERIE est identique ?? (a vérifier)

  17. #17
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    salut
    je connait un société (ATLAS COM) qui utlise le nom de la société ou personne, le n° Tel, Adresse et le n° IF de client comme cle pour chaque client
    bien sur en peut utlisé les meme code pour n'importe qui , qui va utlisé le prog mais il serat obligé d'utlisé les nom et l'adresse du premié
    la procedure : le client demande une copie d'avaluation, si il est satisfé, il envoit un fax qui contient les résognément décrit (crée par le logiciel lui mem ce fax), la société répond (aprés qui est payé) par un fax contenant un code de dévérouiyage
    bah pas trés soféstiqué , mais c'est un idée

  18. #18
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    On pêux rajouter une petite variante a mon poste précédent

    RAYER manuellement une partie du CD pour le rendre LISIBLE mais pas copiable !!!

    Dans ce cas il faut vérifier si il est possible de créer un CD en spécifiant le NR DE SERIE désiré (si c'est faisable, ça tombe à l'eau)

    des tests ?

  19. #19
    Candidat au Club
    Inscrit en
    Septembre 2002
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 3
    Points : 2
    Points
    2
    Par défaut une astuce peut être
    au lieu de protéger le CD contre la copie il faut penser à l'interdiction de l'exécution du programme.
    et si votre logiciel teste l'existence d'une donnée spécifique sur la DISQUETTE qui doit être insérée dans le lecteur de disquettes (le formattage de la disquette doit être hors normes). J'ai vu des disquettes non copiables même avec des utilitaires spécialiés. De cette manière on n'oblige pas le client à utiliser le logiciel sur une machine mais on l'oblige à posséder une disquette qui signifie une clé pour une exécution unique dans le temps même si le logiciel est installé sur plusieurs machines chez le client.

  20. #20
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Bjr

    je ne parle pas de disquette car maintenant pas mal de machines sont livrées sans lecteurs

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/09/2013, 10h32
  2. Comment protéger mon programme contre une copie ?
    Par bolanoy dans le forum Langage
    Réponses: 4
    Dernier message: 18/07/2008, 17h11
  3. Protéger mon PC contre les accès à distance.
    Par devlopassion dans le forum Sécurité
    Réponses: 2
    Dernier message: 06/04/2007, 01h47
  4. Réponses: 17
    Dernier message: 31/10/2005, 15h59
  5. Protéger une disquette contre la copie
    Par benzaza dans le forum Assembleur
    Réponses: 20
    Dernier message: 16/01/2005, 10h42

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