Appel d'une DLL cryptée avec clé dans un Dongle [Résolu]

Messages postés
34
Date d'inscription
jeudi 18 février 2010
Dernière intervention
23 juillet 2010
- - Dernière réponse : Feanor06
Messages postés
34
Date d'inscription
jeudi 18 février 2010
Dernière intervention
23 juillet 2010
- 19 févr. 2010 à 10:10
Bonjour,

Alors voici le contexte :
1/ J'ai un programme principal en VB (car bcp d'IHM...) qui fait appel à une DLL (en C++) de traitement mathématique que j'aimerai protéger.
2/ Je souhaite utiliser un Dongle pour bénéficier d'une protection hard et aussi utiliser la fonction de date de validité pour mon programme.

Je pensais insérer la DLL sur le Dongle et m'en tirer tout simplement, le problème est que ces clés ont une zone sécurisée de quelques kilo seulement (8ko pour celle que j'utilise).

J'ai donc pensé à crypter la DLL et insérer la clé de cryptage dans cette zone sécurisée.

Le Problème :
Je ne vois pas comment faire appel à ma DLL.
Je pense qu'un appel de ce style doit exister mais je ne sais pas comment le mettre en place :
Objectif_DLL = Fonction_DLL(paramètres, clé_de_cryptage)
Avec clé_de_cryptage = la fonction qui va chercher la clé dans le Dongle (ça c'est bon, je dois pouvoir trouver dans la doc de Dongle).

Restera également le fait de sécuriser les communications car je pense que si les messages peuvent être identifiés, ça ne sert surement à rien de crypter la DLL... non?

EXE : Visual Basic 2008 Express
DLL : C++ (Dev-C)
Dongle : Aplika Dinkey Pro (désolé pour la pub...)

Merci beaucoup pour votre attention !

Jérôme

PS : c'est mon tout premier post dans un forum, désolé pour les erreurs que j'ai pu commettre.
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
3
Merci
.... s'il a UN dongle, grand bien lui fasse
il devra avoir le TIEN, donc avoir payé

tu penses que tes clients vont l'être pour devenir tes concurrents, sachant que par leur achat ils seront listés et risqueront l'emprisonnement?

et si la jeu en vaut la chandelle, au mieux il va "piquer" ta dll, qui ne marchera pas avec LEUR dongle, donc??

dans ce cas ne met ni dongle ni DLL
oblige une connexion wan, appli server renvoie le résultat (donc pas de code à trouver) et si tentative pas autre IP que prévue => refus

++

Merci PCPT 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de PCPT
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Bonjour,

C'est l'inverse, que tu dois faire !
Modifier le code de ta dll pour que ses fonctions ne puissent être exécutées qu'en présence de la clé Dongle.
Dès lors, tu n'as plus à te préoccuper du viol de ta dlml, que tu peux installer où tu veux sur le disque du client.
C'est tout !


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Commenter la réponse de ucfoutu
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
0
Merci
salut,

en effet assez d'accord.
l'idéal étant d'avoir, pour chaque fonction (cpp) un paramètre en plus, étant la clé d'accès à la dll
c'est cette clé qui est cryptée, probablement en dur dans ton appli vb

x = retourfunctiondll(cle_verif_crypte_ou_deja_simple_md5,arg1,arg2)

(clé fausse, retour faux volontaire)

à noter que ceci ne protège alors que la dll pour un accès extérieur. ton exe quant à lui est sensé être protégé par le dongle lui-même

++
[hr]
Commenter la réponse de PCPT
Messages postés
34
Date d'inscription
jeudi 18 février 2010
Dernière intervention
23 juillet 2010
0
Merci
Tout d'abord merci beaucoup pour vos réponses, de plus très rapides !

Effectivement mon exe sera protégé par le dongle lui-même en méthode Shell et, avec votre proposition, l'exécution de la Dll sera impossible sans le dongle et donc cette clé. Par contre, qu'est ce qui va empêcher quelqu'un d'ouvrir la Dll pour aller voir ce qu'il y a dedans ?

Je m'excuse mais en fait, je pense que ce qui me manque, c'est des idées claires sur le cryptage...

Je m'imaginai crypter ma Dll avec un soft style ZNsoft Crypto et mettre la clé donnée dans le dongle mais je pense que la phylo m'échappe...
Commenter la réponse de Feanor06
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Par contre, qu'est ce qui va empêcher quelqu'un d'ouvrir la Dll pour aller voir ce qu'il y a dedans ?


Ben... si ta dll est compilée, que penses-tu qu'il y "verrait" de valablement utilisable ?


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Commenter la réponse de ucfoutu
Messages postés
34
Date d'inscription
jeudi 18 février 2010
Dernière intervention
23 juillet 2010
0
Merci
Pas possible de décompiler une Dll ?
Commenter la réponse de Feanor06
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Oh... disons que tout est alors possible (à quel prix ?). . Celui qui serait capable de le faire serait alors également capable de la lire sur ta dongle (voire de la décrypter au besoin !)
Je n'ai jamais rencontré qui que ce fût qui, à moins que la librairie en cause ne soit d'une grande valeur commerciale, aît consenti à dépenser dans un tel but des heures et des heures de travail de craquage . S'il est en plus capable de "craquer", c'est qu'il est doué en informatique (et alors, ces heures passées à "craquer" sont prises sur son temps de prestations de services qu'il pourrait vendre cher.... Ilo aura tout "gagné" ! )

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Commenter la réponse de ucfoutu
Messages postés
34
Date d'inscription
jeudi 18 février 2010
Dernière intervention
23 juillet 2010
0
Merci
D'accord, je pensais en fait que sur un niveau de diffcultés, décompiler une Dll était assez simple (bien que j'en sois incapable ).

Alors dernière petite question, oui je sais, je suis parano... Imaginons que le "craqueur", pour ne pas trop s'embêter, achète un système, donc avec dongle, et du coup n'a qu'à analyser les communications, cette fois valides, entre l'exe et la Dll. Est-il bien de prévoir de brouiller également les pistes lors de la présence du dongle ?

Je sais bien que tu as tout à fait raison, cela dépend de la valeur commerciale de la chose, mais j'ai du mal à l'évaluer...
Commenter la réponse de Feanor06
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
A quoi veux-tu que lui serve raisonnablement la manoeuvre dont tu parles ?
Ce qu'il "capterait" ainsi ne seraient que les échanges, pas le code (seul à protéger) de la fonction utilisée (seul susceptible de tenter un craqueur).
Je te comprends de moins en moins.

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Commenter la réponse de ucfoutu
Messages postés
34
Date d'inscription
jeudi 18 février 2010
Dernière intervention
23 juillet 2010
0
Merci
Oui excuse moi, j'aurais du en dire plus la dessus.
En fait, pour pas trop compliquer la chose, disons que c'est un peu comme-ci l'exe envoyait param1=2 et param2=3 et que la Dll répondait 6, pas trop compliqué de savoir qu'elle a fait param1*param2, même sans le code.
La bien entendu, c'est plus complexe, je pointe sur un buffer qui contient une image et la Dll me renvoi une analyse complète (colorimètrie, uniformité...). Mais je dirai que ça peut être "intércepté" de la même manière.

J'espère que c'est plus clair.

PS : en regardant vite fait sur le net je tombe sur Reflector, un prog qui a priori te sort direct les sources de n'importe quoi, même une Dll
Commenter la réponse de Feanor06
Messages postés
34
Date d'inscription
jeudi 18 février 2010
Dernière intervention
23 juillet 2010
0
Merci
Malheureusement, le marché sur lequel je suis peut favoriser ce genre de pratiques...

En tous cas merci beaucoup à vous deux, j'ai les idées plus claires sur les méthodes disponibles! Je vais mettre quelques étages dissuasifs, en espérant que ça tienne au moins quelques jours

Bonne continuation à vous et encore merci !

++
Commenter la réponse de Feanor06

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.