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

Langage Delphi Discussion :

Protection d'un soft


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Points : 24
    Points
    24
    Par défaut Protection d'un soft
    Bonjour,

    Je ne savais pas dans quelle catégorie placer ce message, donc le voici : j'ai développé un soft, qui doit rester en interne. ET je recherche une solution pour proteger le programme. Une protection qui empeche un individu lambda de recupérer les fichiers du disque dur et de les utiliser sur un autre poste ou autre...

    L'avantage, est que le soft est fait pour fonctionné sur des PCs prédéfinis des le début, et normalement, il ne devrai pas y en avoir d'autre.

    Quelle est la meilleur solution à vos yeux ???

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 455
    Points : 24 867
    Points
    24 867
    Par défaut
    Avoir le contrôle permanent sur les fichiers, hum difficile, un service (on peut l''arrêter) qui garderait les fichiers ouvert, cela éviterait la suppression, mais pas la copie

    le cryptage, pas besoin d'un cryptage savant (tu écris chaque octet en mettant la valeur au carré, et tu ajoute allez, un xor sur un word, bon cela double le volume des données, mais si tu n'as pas un expert en cryptage et en programmation fichier, c'est bon, personne ne comprendra les fichiers, n'importe quel TXT subbissant cela devient un binaire incompréhensible )

    Toutes données devra être écrite et lu par chiffrement, ainsi seul ton programme peut lire les données ... exemple KeepPassWord, un logiciel qui stocke dans un fichier l'ensemble de tes mots de passe, avec une clé privée, et une clé publique (le seul mot de passe à ne pas oublier et à faire volontairement complexe)

    Sinon tu joue, la carte du pourrissage de vie, tu utilise un cryptage XOR avec comme clé, le numéro de série de la carte mère, ainsi même entre deux machines avec le programme cela ne se partage pas !

    prévois-toi quand même dans tous les cas, une sorte de porte de secours (en gros une faille de sécurité), pour récupérer les fichiers si un ordi crame !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Tout a fait d'accord avec toi. Un simple cryptage XOR sur clefs suffisement longue est tres dificilement (voir impossible) a dechiffrer sans la clefs.

    A ceci pres :
    Citation Envoyé par ShaiLeTroll Voir le message
    prévois-toi quand même dans tous les cas, une sorte de porte de secours (en gros une faille de sécurité), pour récupérer les fichiers si un ordi crame !
    N'est ce pas un moyen de donner la possibilité aux "pirates" de decouvrir cette faille et acceder aux données ?
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 455
    Points : 24 867
    Points
    24 867
    Par défaut
    Citation Envoyé par Clorish Voir le message
    N'est ce pas un moyen de donner la possibilité aux "pirates" de decouvrir cette faille et acceder aux données ?
    Tout dépend le niveau qu'il veut de sécurité, si les fichiers ne doivent même pas être partagé entre la même application mais sur différents PC, il faudrait une clé par utilisateur (machine), donc mieux vaut noter quelque part la liste des clé par machine ou écrire celle-ci crypté avec une clé commune à tous pour dévérouiller les données, le problème c'est cela, le choix entre la maintenance et la paranoïa ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    je comprends ce que tu veux dire .... mais ca me fait penser a une autre problematique proche de celle la : La gestion des numeros de licences.

    On a beau chercher des solutions les plus complexes possibles, on en reviens toujours plus ou moins a un simpel test "Si Valide Alors Debloque".

    Rien ne sert de trop proteger tes donnees si de toutes facon, tu met en place un systeme generique ou une backdoor pour recuperer tes donnees "au cas ou".

    En gros .... tu peux toujours mettre une porte en titane, mais bon si tes murs sont en briques je vois pas trop l'interet. C'est toujours plus simple de defoncer le mur que la porte :p
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  6. #6
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Citation Envoyé par Clorish Voir le message
    C'est toujours plus simple de defoncer le mur que la porte
    Je ne participe pas en général à ce type de dicussion, mais Clorish viens de résumer en une simple phrase toute la difficulté de protéger son soft.
    euh, j'ai pas non plus de solution miracle...

    @+ Claudius

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Points : 24
    Points
    24
    Par défaut
    Hum, pas mal d'idées, mais je retient celle de récupération du numéro de la carte mère. Mais savez vous si il est possible en Delphi de la récupérer ???

  8. #8
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 729
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 729
    Points : 15 133
    Points
    15 133
    Par défaut
    récupération du numéro de la carte mère
    sans perdre de vue qu'une carte-mère ça crame, des fois, et que donc ça se change...
    Tu vois où je veux en venir ?
    (idem pour les procs, les disques, les cartes réseau, etc.)

    --
    jp
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Points : 24
    Points
    24
    Par défaut
    oui, je sais mais ce que je pensais, c'est faire un keygen en fonction du numéro de la carte mère ?!?

  10. #10
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Nous on utilise ExeCryptor (payant) ou alors cmxProtector (composant gratuit).

    Mais au fait : Tu sais qu'un Keygen .... ca se recrée ?

    J'ai lu quelque par que l'un des cryptages des plus sur est le cryptage de a base XOR avec un masque au moins aussi long que les données a crypter.

    D'autre part, le principe d'un cryptage XOR a clef tournante est que sans la clef, il est impossible de retrouver les données d'origine. A moins d'utiliser la force brute.

    Or la force brute n'est pas toujorus facile a mettre en place (du moins pour decrypter les données) car si tu code un numeros de serie : AMX-23E et que par force brut tu essaye toutes les combinaisons possibles, tu peux tomber sur : ZA3-45F, QW3-5TU, AAA-BBB, ... Comment savoir si c'est un bon resultat ? mis a part le tester .....
    Autant tenter directement toutes les combinaisons possibles ....

    Et si tu change regulierement de systeme de cryptage (en fait de clefs) les donnéees ne seront pas regient par la meme clef. Donc une fois (par force brut) le bon code trouvé, une 2e force brute peut permettre de decouvrir la clef ... qui de toute facon ne servira peut etre jamais plus

    Une des solutions que j'ai trouvée est de creer un tableau de 255 bytes, (de 0 a 255) ordonné aleatoirement.
    Le cryptage est basé sur une combinaison XOR byte par byte, en changeant de clefs a chaque byte, en prenant la clefs qui suis dans le tabelau.
    Un entier (entre 1 et 255) permet de definir l'index de la clefs de depart dans le tableau. LEs autres suivant, et bouclant (via le modulo).

    On peut aussi envisager une matrice 255x255, 255x255x255, 255x255x255x255, composée d'autant de combinaisons de succession de clefs differentes que de cellules dans la matrice ... les indices etant defini par les 2, 3, 4 octets d'un entier ....

    Bref a toi de choisir entre une pagaille, un bordel ou un sacre merdier
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  11. #11
    Membre éprouvé
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 988
    Points
    988
    Par défaut
    Je soumets modestement une idée à laquelle personne ne semble avoir pensé : outre un cryptage afin d'éviter le désassemblage, on peut imaginer que le soft envoie un id unique (composé à partir des composants hardware ou non) à un utilitaire situé sur le serveur intranet. Ainsi, d'une part, si quelqu'un essaie de faire tourner le soft à l'extérieur de l'entreprise, il en sera pour ses frais, puisque non connecté, et d'autre part, on peut imaginer que le soft serveur en question gère les clefs de décryptage, donc on garderait l'initiative, niveau du serveur, de débloquer ou pas un soft sur un poste qui aurait été modifié.

  12. #12
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    On peut tres bien modifier l'exe pour envoyer un ID different de celui calculé et ainsi debloquer les données

    Comme dit souvent, il n'existe pas de solutions "miracle"
    Par contre la version server avec identification base sur une sorte de serial lié a un materiel tombe sous une autre jurispudence : La penetration illegale de serveur privé et usurpation d'identitée. Et la ..... c'est pas les memes peines que le piratage !

    Ca protege pas plus ... mais ca rassure

    C'est pour ca que tous les jeux basent maintenant le gros de l'interet sur une connection serveur et version multijoueur
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  13. #13
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2002
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Le petit truc tout bête du fileExists(MonfichierCache) fct pas mal non plus ...

    Il suffit d'être malin sur le nom du fichier et le répertoire de stockage et de ne pas afficher l'exception

  14. #14
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Bhoa ..... le B-A-BA du cracker et d'analyser la BdR et le disque Dur pour verifier les changements entre la version validée et celle pas encore validée.

    Deja, tous fichiers/entrees en plus, en moins, modifiée, est suceptible d'intervenir dans le processus de verification et de validation
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par Clorish Voir le message
    Nous on utilise ExeCryptor (payant) ou alors cmxProtector (composant gratuit).
    Est ce que quelqu'un aurait l'install et pourrait me la filer svp ???

  16. #16
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Exectypor (demo complete telechargeable)
    TMxprotector
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Points : 24
    Points
    24
    Par défaut
    Merci beaucoup, j'ai opté pour TMxprotector, et ca fonctionne à merveille.


  18. #18
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 101
    Points : 132
    Points
    132
    Par défaut
    Citation Envoyé par CapJack Voir le message
    Je soumets modestement une idée à laquelle personne ne semble avoir pensé : outre un cryptage afin d'éviter le désassemblage, on peut imaginer que le soft envoie un id unique (composé à partir des composants hardware ou non) à un utilitaire situé sur le serveur intranet. Ainsi, d'une part, si quelqu'un essaie de faire tourner le soft à l'extérieur de l'entreprise, il en sera pour ses frais, puisque non connecté, et d'autre part, on peut imaginer que le soft serveur en question gère les clefs de décryptage, donc on garderait l'initiative, niveau du serveur, de débloquer ou pas un soft sur un poste qui aurait été modifié.
    Bonjour,

    Peut-être pas trop l'idéal pour une entreprise cette solution...

    Si jamais le serveur tombe en rade, le soft ne tourne plus...!

    Je vois mal la tête du client

    Amitiés Hepha1970
    Windows 7 / Debian 8 jessie / Kali 2 / Nas Synology ds214se / Arduino Mega 2560 / Raspberry Pi 3

  19. #19
    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
    Citation Envoyé par hepha1970 Voir le message
    Bonjour,

    Peut-être pas trop l'idéal pour une entreprise cette solution...

    Si jamais le serveur tombe en rade, le soft ne tourne plus...!

    Je vois mal la tête du client

    Amitiés Hepha1970
    De mon côté j'ai retenu le principie suivant :

    1-> fourniture d'une clé au client avec nécessité de l'activer
    2-> Au lancement du soft, si non activé, procédure d'activation par contre-code (manuel ou dans le futur automatique via un serveur web)
    si le contre-code est ok, récupération d'info sur le pc (signature du matériel) et formation d'une clé de cryptage pour l'algo Xor afin de crypter les fichiers sensibles (fichiers de données)

    Le système du contre-code, permet de vérifier si un client "fraude" puisqu'on le connait à l'avance

    Dans le futur, transmission de l'identifiant machine pour désactiver les version qui ne sont plus valides.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. La meilleure protection contre le piratage des logiciels ?
    Par iubito dans le forum Débats sur le développement - Le Best Of
    Réponses: 184
    Dernier message: 23/12/2008, 13h35
  2. Lister les softs installés sur un Pc
    Par Jflgb dans le forum C++Builder
    Réponses: 18
    Dernier message: 23/06/2004, 17h34
  3. Réponses: 11
    Dernier message: 17/03/2003, 10h56
  4. [VBA-E] [Excel] Protection d'une plage de cellules
    Par fikou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/11/2002, 11h28
  5. Réponses: 2
    Dernier message: 11/07/2002, 08h31

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