Appel d'une DLL cryptée avec clé dans un Dongle

Résolu
Feanor06 Messages postés 34 Date d'inscription jeudi 18 février 2010 Statut Membre Dernière intervention 23 juillet 2010 - 18 févr. 2010 à 18:00
Feanor06 Messages postés 34 Date d'inscription jeudi 18 février 2010 Statut Membre 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.
A voir également:

11 réponses

PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
19 févr. 2010 à 09:58
.... 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

++
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 223
18 févr. 2010 à 18:32
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
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
18 févr. 2010 à 18:54
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]
0
Feanor06 Messages postés 34 Date d'inscription jeudi 18 février 2010 Statut Membre Dernière intervention 23 juillet 2010
19 févr. 2010 à 08:55
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...
0

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

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 223
19 févr. 2010 à 08:59
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
0
Feanor06 Messages postés 34 Date d'inscription jeudi 18 février 2010 Statut Membre Dernière intervention 23 juillet 2010
19 févr. 2010 à 09:04
Pas possible de décompiler une Dll ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 223
19 févr. 2010 à 09:13
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
0
Feanor06 Messages postés 34 Date d'inscription jeudi 18 février 2010 Statut Membre Dernière intervention 23 juillet 2010
19 févr. 2010 à 09:26
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...
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 223
19 févr. 2010 à 09:33
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
0
Feanor06 Messages postés 34 Date d'inscription jeudi 18 février 2010 Statut Membre Dernière intervention 23 juillet 2010
19 févr. 2010 à 09:53
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
0
Feanor06 Messages postés 34 Date d'inscription jeudi 18 février 2010 Statut Membre Dernière intervention 23 juillet 2010
19 févr. 2010 à 10:10
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 !

++
0
Rejoignez-nous