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 :

Comment protéger efficacement son application ?


Sujet :

EDI Delphi

  1. #1
    Membre habitué
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Points : 187
    Points
    187
    Par défaut Comment protéger efficacement son application ?
    Mon but est simple :
    1- contrôler l'installation de l'application. (processus d'activation + fourniture d'un contre-code).
    2- rendre très difficile le désassemblage de l'exe et donc le cout-circuitage des routines de contrôle de n°série.

    Pour le premier point, je pensais un enregistrement d'une chaine cryptée dans la base de registre.

    Pour le deuxième, c un peu plus compliqué. l'idéal à mon sens c que l'exe soi lui-même crypté. Est-ce la bonne solution ? et surtout est-ce possible sans utiliser de produits externes type Aladdin?

    Sur ce point, est-ce que dans ce cas, l'application doit être segmenté en un exe (lanceur) et une dll ou autre contenant le code crypté de l'application ?

    Tous vos commentaires sont les bienvenues.

  2. #2
    Membre actif Avatar de etranger
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 333
    Points : 268
    Points
    268
    Par défaut
    A mon avi, la meilleure maniere de proteger ton soft est de realiser deux versions :
    une Demo, qui ne permet pas d'effectuer cetaines operations, ces fonctions doivent tous simplement etre supprimés de l'application et non désactiver.
    Une version complette pour les utilisateurs qui souhaites acheter ton soft.

    Le probléme avec cette technique c'est que si un utilisateur qui aurait acheté ton soft le sitribue illégalement, ton soft sera sans aucune défences.

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 68
    Points : 66
    Points
    66
    Par défaut
    Activation du programme avec une clée utilisable avec un compte donné et directement par Internet, pour que l'utilisateur ne connaisse pas la clé? Et vérification à chaque lancement de la validité de la clée? Un système de log pour savoir si au dernier pointage la clée a été validée, pour éviter l'utilisateur de se priver d'un programme lors d'une coupure de ligne?

  4. #4
    Membre habitué
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Points : 187
    Points
    187
    Par défaut
    L'activation par internet est une solution qui permet effectivement d'utiliser des clés de longueurs assez importante. Seulement, il faut prendre en compte les utilisateurs sans connexion. (cf dans certain réseau d'entreprise, seul des pc en libre service ont accès à internet).
    Dans ce cas, il faut fournir la clé sous forme de fichier "crypté" pour une activation en mode non connecté et donc rien n'empéche à la duplication du fichier d'activation.

    Dans tous les cas, quelque soit le mode d'activation ou la longueur de la clé, la protection ne vaut rien, si il "suffit" de faire un NOP du test de validité.

    Comment faire pour ce protéger dans ce cas de figure ?

    Est-il possible d'utiliser une DLL cryptée et de la décrypté en mémoire avant le loadlibrary ? Imaginons que dans le package d'installation contiennent une version "mélangée" de l'application :
    - à l'install, on demande le n°de licence + la clé d'activation.
    ces infos servent à générer une clé de cryptage que l'on stocke dans la BDR.
    - L'install recolle les morceaux de l'appli en les cryptant avec la clé généré précédement.

    au lancement, de l'appli, le lanceur récupére la clé, décrypte la DLL en mémoire et la charge.

    Pour que la clé ne soit pas utilisable sur un autre pc, on y inclus des infos comme le n°série du disque dur, le type de processeur, etc ...

    Est-ce une protection qui vous semble efficace (et réalisable) ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/06/2014, 18h58
  2. Comment réussir à rendre son application populaire sur les Store ?
    Par Hinault Romaric dans le forum Général Dotnet
    Réponses: 9
    Dernier message: 19/05/2014, 20h24
  3. comment bien sécurisé son application ASP
    Par lokardz dans le forum ASP.NET
    Réponses: 2
    Dernier message: 01/03/2013, 21h16
  4. Comment "protéger son application" ?
    Par -Lyox- dans le forum C#
    Réponses: 1
    Dernier message: 12/02/2012, 00h22
  5. Comment faire un splash screen pour son application?
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/04/2007, 14h28

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