Téchniques pour portéger son logiciel...

i_can -  
 Yoda -
Bonsoir,

Je me demande bien quelles sont les techniques (Programmation) qu'on utilise pour bien protéger son logiciel?
Qu'est la meilleur technique jusqu'à présent?
Étant donné que je viens de développer une application, et je voudrai bien la lancé dans le marché...Que dois-je faire pour la protéger? Programmer un module permettant de faire ça ou existe-il des logiciels pour accomplir cette tâche?
Quelle est la relation entre ce qu'on appelle "trail version" et "License"?
Mon application comporte une base de données, celle-ci, doit être protégée...Comment y procéder?

Désolé, si je pose tant de questions. Des réponses ça se trouve sur "Google", mais il y en a tellement de réponses différentes qu'on y confond le tout :p

Donc je sollicite plutôt des réponses claires et utiles en peu de mots :)
Merci à vous.

5 réponses

Patrick75
 
Bonsoir,

Tu peux utiliser deux directions pour protéger efficacement ton programme:

1) Codage (programmation)
a) Technique de l'obfuscation
b) Vérifier la présence de certains process et les interdire ( timer + findwindow )
c) Programmer un loader afin de vérifier l'intégration de ton fichier ( Checksum / Hash )
d) Ecrire un code AntiDebug dans ton programme en utilisant certaines api windows

2) Applications destinées à protéger ton application
a) Il existe des programmes capable de protéger ton application contre le Reverse engineering ( Yodas protector, TeLockv0.96 version freeware, il en existe d'autres )
b) Compléter ta protection en compressant ton programme avec un packer (ex: upx, mpress, etc...)
c) Utiliser EXEForger par exemple pour modifier certaines données de ton application (ex: signature du packer, etc...)

C'est un brossage rapide des possibilités pour protéger ton application.

Remarque: Il est nécessaire de crypter par programmation ta BDE.
6
Patrick75
 
"c) Programmer un loader afin de vérifier l'intégration de ton fichier ( Checksum / Hash ) "

Lire intégrité de ton fichier et non pas intégration. Désolé
0
I_can
 
Merci, pour ces réponses et pour ces mots-clés :)
Mais, s'il y aurait d'autres réponses, je serai preneur...
Thanks again.
0
Yoda
 
Bonjour,

Une façon assez simple de proteger ton logiciel c'est de recuperer une empreinte (footprint) sur la machine où il est installé : par exemple le numéro de serie du disque C:
Tu communiques à ton client un fichier license.txt qui contient un code de controle calculé à partir du numéro de série, d'après une clé de cryptage que tu es seul à connaitre.
A chaque lancement du logiciel, le programme vérifie par calcul inverse, que le code de controle correspond bien au numéro de serie.
Ce n'est pas infaillible mais ça devrait suffire à éviter les installations non autorisées, et c'est facile à programmer.

;)
1
i_can
 
Oui, c'est une bonne idée pour éviter qu'on emprunte sa clé, donc cette clé ne fonctionnera pas ailleurs! il est possible ainsi d'utiliser l'adresse machine aussi...Bon ça résout un problème....

Mais, il y a certains logiciels qui ont été genre "sécurisés" par cette méthode "nécessité d'une clé", mais le truc que ça été cracké ==> tu n'as qu'à mettre de fausses (aléatoirement les yeux fermés :p) entrées (ex : Email et Clé) et ça passe le plus normalement du monde !!!
On a dû désassembler, modifier puis ré-assembler à nouveau que ça se fait, non?
Puis, pour éviter ceci, on a pensé à quoi?
0
Yoda
 
Bonjour,

On ne peut pas éviter de cracker un logiciel, pour peu qu'il en vaille la peine...
Regarges par exemple AutoCad ou Microsoft Office, il n'y a pas une version qui ne soit crackée. Ces logiciels sont très utilisés donc forcément, les hackers s'y intéressent. Mais ton logiciel, il s'adesse à qui en particulier? Vaut-il la peine de d'être cracké? Qui va relever le défi? A mon avis tu n'as pas trop de soucis à te faire.
Avec une clé d'utilisation tu devrais être tranquille pour un moment, et puis tu peux toujours changer ta clé à chaque nouvelle version.
0
i_can
 
Bonsoir,
Oui tu as tout à fait raison...La question c'est "mon logiciel vaut-il la peine qu'il soit cracké"...Mais moi je trouve que vaut mieux faire (Le protéger) tôt que tard, la façon dans laquelle on en protège avec notre application prendra de l'ampleur et de la force au fur et à mesure du processus de développement du logiciel....

Bon, juste une autres question, quelle est la longueur max d'un code MD5?
Parce que ce que je fais, c'est que à l'étape de l'authentification ( Un système d'accès à l'application n'a rien avoir avec la Registration du logiciel), je fais la conversion du pass de l'utilisateur en MD5, étant donné que son pass est enregistré dans le registre windows...Donc si je ne me trompe pas la taille d'une valeur clé est limitée donc je serai jamais sûr que peut-être le résultat MD5 dépassera cette limite?!!
0
i_can
 
Edit: (quelle est la longueur max d'un code MD5) ==> Quel serait le rapport en matière de taille entre la chaîne entrée et la chaîne sortie?
0
Yoda
 
Bonsoir,

Pour plus d'infos sur le code MD5, je te conseille de lire cet article:
http://fr.wikipedia.org/wiki/MD5

Le code MD5 est utilisé pour obtenir la signature numérique d'un fichier. Il sert à verifier l'intégrité d'un fichier, vérifier qu'un fichier est conforme à l'original et donc qu'il n'a pas été modifié (ou cracké, ou qui contient un virus ...).

;)
0
Templier Nocturne Messages postés 9989 Statut Membre 1 107
 
il n'existe pas de solution totalement fiable, à part la gratuité.
0
i_can
 
@Templier Nocturne : Je ne cherchais guère une solution "totalement fiable" parce que c'est "impossible".
Merci pour votre réponse :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Templier Nocturne Messages postés 9989 Statut Membre 1 107
 
sinon, une solution simple et efficace serait de bloquer ton appli tant que l'usager n'a pas entré un code que tu lui enverrais par email. une fois el code entré, l'appli se connecte sur ton site pour voir si le code est valide
0

Discussions similaires