Sécuriser un fichier DLL avec un fichier license [fermé]

Quelle est la meilleure façon de sécuriser l'utilisation, le chargement d'une DLL avec un fichier de licence?

12
demandé sur Peter Mortensen 2008-09-20 03:19:58

3 réponses

deux ou trois choses que vous pourriez vouloir considérer:

de la somme de contrôle de la DLL. En utilisant une fonction de hachage cryptographique , vous pouvez stocker cela à l'intérieur du fichier de licence ou à l'intérieur de la DLL. Cela fournit une méthode de vérification pour déterminer si mon fichier DLL d'origine est désactivé, ou si c'est le fichier de licence pour cette DLL. Quelques techniques simples d'échange de bytes peuvent rapidement faire sortir votre fonction de hachage des sentiers battus (et donc pas facile à reproduire).

ne stockez pas votre hash comme une ficelle, divisez-le en shorts non signés à différents endroits.

comme Larry l'a dit, une adresse MAC est assez courante. Il ya beaucoup d'exemples de la façon d'obtenir que sur le projet de Code , mais être conscient qu'il est facile de truquer ces jours.

Ma suggestion, devrait être utiliser privé/public "151940920 les" clés de la génération de la licence.

en bref, les modes de attaque sera binaire (modifier les instructions de votre fichier DLL) donc protéger contre cela, ou génération de clés donc rendre chaque utilisateur de licence, machine, et même l'installation spécifique.

5
répondu titanae 2013-02-24 10:18:32

vous pouvez vérifier pour une licence à l'intérieur de DllMain() et mourir si elle n'est pas trouvée.

4
répondu Cody Brocious 2008-09-19 23:21:54

cela dépend aussi du fonctionnement de votre algorithme de licence. Je vous suggérerais d'utiliser quelque chose comme un Diffie–Hellman key exchange (ou même RSA ) pour générer une sorte de clé publique/privée qui peut être transmise à vos utilisateurs, sur la base de certaines informations.

(selon l'application, je connais un cas où j'ai écrit le code de licence sur le contrat pour une société, ils ont utilisé une "adresse MAC 151970920" , et quelques autres données, l'ont hachée, et crypté le hachage, leur donnant la "valeur clé", si le numéro d'enregistrement était correct). Cela garantit que le fichier clé ne peut pas être déplacé (ou donné) vers une autre machine, ce qui "vole" le logiciel.

si vous voulez creuser plus profondément et éviter les hackers, c'est un tout autre sujet....

2
répondu LarryF 2013-02-24 10:20:25