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

EDI Delphi Discussion :

securiser une application delphi


Sujet :

EDI Delphi

  1. #1
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut securiser une application delphi
    Salut Tout le monde,
    je suis en plein developpement d´une application en delphi, et la societe pour laquelle je la developpe aimerais bien vendre cela, et ils m´ont demandé de faire en sorte que cela ne soit pas multiplié, ou insatllé en nombre illimité, ou craker, ainsi de suite que seul celui qui l´a achetez puisse l´utiliser et sur le nombre de machines pour lesquelles il a acheté.
    c´est donc la ou se trouve mon probleme, tout d´abord j´ai precisé a ma société qu´un programme 100% sur n´existe pas.
    Ma question est - il possible de de pouvoir securiser son application de tel en sorte que sa violation soit difficile? si oui comment , car j´ai essayé la methode de l´addresse du disque dur, ou de celui LÍD du systeme d´exploitation, mais ce n´est pas efficace.
    j´attend votre aide et merci d´avance.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    Salut,

    La seule vraie protection à mon avis est le dongle physique. Ca implique bien sur un cout supplémentaire et ça doit etre crackable (encore que?) mais ça reste un des moyens les plus surs.

  3. #3
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Février 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 537
    Points : 460
    Points
    460
    Par défaut
    Je crainds que cela soit impossible, tout les logiciel sont crackable.
    Un algorithme de permission ce trouve, un dongle ce contourne, pour les protections employant un accès internet pour permission c'est la même chose...
    Le mieux je pense c'est de mélanger différents systèmes de protection et de ne pas mettre de message en cas de violation (car c'est un bon point d'entrer pour cracker un soft).

    André
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait !

  4. #4
    Inactif  
    Inscrit en
    Novembre 2008
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 255
    Points : 264
    Points
    264
    Par défaut
    Bonjour

    j'ai utilisé Yoda's crypter pendant quelques années, cependant tu peux créer le tien.

  5. #5
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    j´aimerais generer moi meme une cle, mais comme tout le monde le dit, s´est craquable, je voudrais bien savoir s´il ya une maniere fiable qui me permet d´identifier un ordinateur sans que cela ne soit facilement falsifiable.
    je voudrais passer par l´identification unique d´un poste de travail(ordinateur), est ce qu´il est possible d´voir un identifiant unique pour un ordinateur, comme son identité genetique. ce qui me permettrait de generer une clé seulement pour cet poste de travail.

    pour le cout supplementaire, c´est une alternative mais comme ne maitrisant pas dongle, je crains ne pas pouvoir utilisier. car il faudra que je puisse explique a mon employeur comment il doit faire pour generer les cles. alors qu´une methodologie programmable est pour moi la meilleur, car je voudrais moi meme develloper un logiciel pour le faire.

  6. #6
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Février 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 537
    Points : 460
    Points
    460
    Par défaut
    Peux importe la condition qui fait que ton application peut fonctionner, ce qu'il faut surtout cacher c'est la manière dont les test de validité sont fait.

    Grossièrement, si on a:
    si condition = vrai alors démarre le soft.

    Le crackeur peut ou rechercher la condition ou la modifier en:
    si condition <> vrai alors démarre le soft.

    ou:
    Démarre le soft.

    Après, il y a encore pleins d'autres astuces...


    André
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait !

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    707
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 707
    Points : 777
    Points
    777
    Par défaut
    J'utilise Armadillo depuis quelques années, je n'ai jamais vu de cracks de mon logiciel, bien qu'il soit toujours possible de tout cracker, et bien que de nombreux autres logiciels l'utilisant aient déjà été crackés (je pense qu'en configurant bien les nombreuses options, il est possible de réduire les risques).
    Sinon l'outil qui est réputé offrir la meilleure protection de l'avis même les pros du piratage (je vérifie de temps en temps sur les forums spécialisés), je crois que c'est WinLicense.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 82
    Points : 85
    Points
    85
    Par défaut
    il existe des unpacker générique pour Armadillo (même les dernières versions),
    Yoda's crypter c'est vieux comme le monde, packer générique aussi.


    Si ton application est populaire et/ou chère, il y a beaucoup de chance pour qu'elle soit crackée.

    Moi je te conseil déjà d'utiliser deja un aglo avec un ID unique pour chaque PC, genre serial du disque dur,
    c'est un grand classic et ça limite la diffusion sauvage de name/serial sur le net.

    ensuite utilise un aglo 100% maison avec des tricks pas cool, genre multi thread,
    une 10e de timer qui vérifie le serial, code bidon dans la routine de calcul pour ralentir le tracing,
    check au démarrage, ect ect..

  9. #9
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Février 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 537
    Points : 460
    Points
    460
    Par défaut
    Bonjour,
    Avant de commencer à cracker un logiciel, un cracker regarde ses propriétés à l'aide d'un outil tel que PEiD (il en existe plein d'autres), là il verra en quel language le soft a été programmé et si il a été compacté ou protégé par un soft du marché. Sachez que pour presque tous ces softs il existe "son anti protection". Pour Armadillo de tels outils existent aussi.

    Le mieux je pense c'est de faire part d'imagination et d'employer des recettes maison avec de faux indices et de les garder secret.

    André

    the_magik_mushroom@ Transmission de pensées
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait !

  10. #10
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    j´aurais aimé develloper une methologie avec une personification de l´ordinateur, mais le seul probleme est que je ne sait pas comment faire pour etre sur que l´ordinateur n´est pas cloné?

  11. #11
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Février 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 537
    Points : 460
    Points
    460
    Par défaut
    employer l'ID de la carte mère ou la carte graphique par exemple...

    André
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait !

  12. #12
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    Citation Envoyé par jeffray03 Voir le message
    j´aurais aimé develloper une methologie avec une personification de l´ordinateur, mais le seul probleme est que je ne sait pas comment faire pour etre sur que l´ordinateur n´est pas cloné?
    salut,

    andreditdd t'a donné une bonne piste sur ID de la carte mère, numéro de série du processeur, ...

    sinon, si tu ne pas comment faire ça, il y a un composant qui fait ce que tu veux: "AVLock" téléchargeable ici:http://www.delphipages.com/result.cfm?TD=20

    il génère un code d'enregistrement unique(pour chaque PC) basé sur le n° du disque dur, N° processeur...

    bonne chance.

    NABIL74

  13. #13
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    j´ai vu avlock, mais je ne vois pas la version pour Delphi2009,
    est - il possible d´avoir le ID de la carte-mere par delphi meme sans passer par un programme externe si oui comment?
    Merci d´avance.

  14. #14
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    bonsoir,
    jeffray03, tu peux utiliser par exemple le N° de série du processeur et le N° de série du disque dur pour "protéger" ton soft.
    -pour obtenir le N° de série du processeur du PC, tu fais ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    function getserial : string;
     var v1,v2,v3,v4 : longword;
      begin
     asm
     push edx
     push ecx
     push ebx
     push eax
     mov eax,2
     db $f
     db $a2
     mov v1,edx
     mov v2,eax
     mov v3,ebx
     mov v4,ecx
     pop eax
     pop ebx
     pop ecx
     pop edx
     end;
     getserial :=
     inttohex(v1,8)+'-'+inttohex(v2,8)+'-'+inttohex(v3,8)+'-'+inttohex(v4,8);
     end;
    pour l'appeler:Maintenant, pour obtenir le N° de série du disque dur, tu peux le faire comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function GetSerialIDEx: string;
    var
    VolumeSerialNumber : DWORD;
    MaximumComponentLength : DWORD;
    FileSystemFlags : DWORD;
    SerialNumber : string;
    begin
    GetVolumeInformation('C:',nil,0,@VolumeSerialNumber,
    MaximumComponentLength,
    FileSystemFlags,nil,0);
    SerialNumber := IntToHex(HiWord(VolumeSerialNumber), 4) +'-' +
    IntToHex(LoWord(VolumeSerialNumber), 4);
    Result:=SerialNumber;
    end;
    pour l'appeler:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    edit2.Text:=GetSerialIDEx;
    bonne chance.

    NABIL74

  15. #15
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    Merci Nabil74
    je vais tester cela tout de suite

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    707
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 707
    Points : 777
    Points
    777
    Par défaut
    Citation Envoyé par the_magik_mushroom Voir le message
    il existe des unpacker générique pour Armadillo (même les dernières versions)
    Certes, mais aucun unpacker générique ni aucun loader n'a jamais réussi à faire tourner mon application. Comme je disais, il faut bien configurer les nombreuses options (nanomites, sections sécurisées, interdire tout lancement sans clé valide, *enlever* certaines fonctions en fonction des versions au lieu de ne pas les activer, etc.)

    Moi je te conseil déjà d'utiliser deja un aglo avec un ID unique pour chaque PC, genre serial du disque dur,
    c'est un grand classic et ça limite la diffusion sauvage de name/serial sur le net.

    ensuite utilise un aglo 100% maison avec des tricks pas cool, genre multi thread,
    une 10e de timer qui vérifie le serial, code bidon dans la routine de calcul pour ralentir le tracing,
    check au démarrage, ect ect..
    Les pros du cracking vont bien rire en voyant tes protections maison. Tu pourras imaginer les pires combines, ça n'arrivera jamais à la hauteur de ce qui se fait dans les outils spécialisés, qui eux-mêmes gênent à peine ces crackers. A quand une Hadopi pour les programmeurs ?

  17. #17
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    Citation Envoyé par GoustiFruit Voir le message
    Comme je disais, il faut bien configurer les nombreuses options (nanomites, sections sécurisées, interdire tout lancement sans clé valide, *enlever* certaines fonctions en fonction des versions au lieu de ne pas les activer, etc.)
    c´est exactement ce que je voudrais bien faire, mais comment? c´est la toute ma question, car si mon entrepreneur doit livrer ce logiciel, alors doit -il envoyer les clés par email? ou doit-il des le depart diffencier les logiciels pour enlever les parties qui ne vont par exemples ne pas intervenir dans les versions commerciales ainsi de suite? quel est moyen un peu sur de generer les clés et comment faire pour les envoyer a celui qui a acheter le logiciel.
    pour la generation des cles j´ai deja une petite idée, mais le test ne se deroule pas encore assez bien, il me faut les perfectionner avec plusieurs parametres.
    Merci encore pour vos interventions

  18. #18
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    moi jai une question si l'achteur de lapplication veu ke on appli marche sur plus qu'un pc??? si on utilisant le ID de la cart mere et le proceseur??

    cordialement

  19. #19
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 685
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 685
    Points : 13 102
    Points
    13 102
    Par défaut
    Comme ça a déjà été dit, il n'y a pas de solution ultime. Il faut voir aussi l'applicatif et s'y adapter.

    Si l'application est installée sur un serveur et que les utilisateurs se connectent en TSE, les numéros de disque et de processeur seront toujours identiques même s'il y a 50 utilisateurs connectés .

    On ne traitera pas non plus la même chose une application lancée quelques secondes (ex. un convertisseur) ou une application nécessaire à la bonne marche du système (où on a tout notre temps ).

  20. #20
    Membre confirmé
    Avatar de alheuredudejeuner
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 376
    Points : 632
    Points
    632
    Billets dans le blog
    4
    Par défaut TmxProtector
    http://www.maxcomponents.net/index.p...age=1&linkid=7

    J'ai l'intention de l'utiliser, l'exemple parait simple....

    André

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/02/2010, 11h00
  2. Réponses: 7
    Dernier message: 30/09/2005, 17h53
  3. Comment afficher des JPEG dans une application Delphi ?
    Par Bouguennec dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/09/2005, 21h18
  4. Sécuriser une application java (stand alone)
    Par debutant java dans le forum Sécurité
    Réponses: 4
    Dernier message: 05/04/2005, 13h28
  5. Réponses: 1
    Dernier message: 13/05/2002, 09h19

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