J'ai un logiciel dans l'ordinateur A.
Lors de sa première installation, je dois saisir une clé utilisateur et l’utiliser. Après la première saisie de la clé utilisateur, je n'ai plus besoin de saisir de clé pour l'utiliser. (C'est comme une clé de licence logicielle.)
Maintenant, j'aimerais utiliser ce logiciel dans un autre ordinateur B. Je dois installer le fichier .exe. Cependant j'ai oublié la clé utilisateur.
Comme il s’agit d’un logiciel hors ligne, je suppose que la clé utilisateur est enregistrée dans l’ordinateur A:
- peut être crypté,
- peut être dans le registre,
- il peut y avoir un BIT marqué que la clé utilisateur a été entrée correctement.
J'ai un accès complet à l'ordinateur A et à l'ordinateur B.
L'ordinateur A est un Windows XP. L'ordinateur B est de préférence une fenêtre 7, mais pourrait être un autre système d'exploitation si nécessaire.
Comment déplacer ce logiciel avec UserKey de l'ordinateur A à l'ordinateur B?
Réponses:
Nous ne pouvons pas vous aider sans savoir de quel logiciel il s’agit. Mais il est tout à fait possible que la clé ne soit stockée sur l'ordinateur sous aucune forme utilisable. Par exemple, le programme d'installation peut mélanger de manière irréversible, cryptographiquement, la clé avec le numéro de série du disque dur de l'ordinateur et le stocker. Comme vous ne possédez pas la clé d'origine, vous ne pouvez pas la combiner avec le numéro de série du disque dur du nouvel ordinateur.
la source
Merci à tous les gars qui ont essayé d'aider. Je viens de le faire (ou mieux dire piraté :-)
En bref, il y a vraiment une clé dans le registre. Je ne pouvais pas le localiser car ce n'était pas sous le chemin du nom du logiciel. Après avoir copié cette clé (et avec quelques connaissances en programmation), cela fonctionne comme par magie.
Voici mes pas.
J'ai fait quelques recherches et beaucoup plus de recherches sur Google. J'ai commencé avec ce site d'enseignement Comment obtenir le numéro de série d'un programme avec OllyDbg .
Cependant, j'ai trouvé qu'il s'agissait d'un fichier Microsoft Visual C # / Basic .NET dans PEiD .
Je ne pouvais pas déboguer mon fichier .exe par OllyDbg. Raconté par ce site :
Tout d'abord, je suis tombé sur le décompilateur .NET . C'est un bon outil. Après ma première inspection dans le code source, j'ai localisé la méthode critique
btnOK_Click()
qui est le point de contrôle de la clé utilisateur. Malheureusement, le contenu de la méthode est masqué par// trial
.NET decompiler (wtf), car ce n’est pas un logiciel gratuit et coûte 399 USD (rien de moins pour moi). De plus, je ne suis pas convaincu qu'il est garanti d'obtenir la clé UserKey après l'achat du décompilateur .NET. (c'est ma première fois quand même)Ensuite, je suis passé à d’autres alternatives gratuites, telles que ILSpy (gratuit) et .NET Reflector (essai de 14 jours).
J'ai enfin pu inspecter la
btnOK_Click
méthode:Simplement,
pbcUserKey
est-ce que la clé utilisateur que nous avons entrée et à quoi va-t-elle être comparée? Il est passé dans le methedmodCommon.XxGetUserID()
:Un autre obstacle est apparu. C'est une méthode externe et nous n'avons pas pu parcourir sa source. Nous savons seulement que la voie à suivre devrait être
XXGetUserkey.dll
. Croyez-moi, j'ai inspecté cette DLL plusieurs millions de fois et je n'ai pas eu de chance. (Je n'ai pas pu trouver IL Disassembler de M $ btw) Si vous avez des outils pour afficher / désassembler / décompiler les DLL, votre contribution sera très appréciée!J'ai commencé à penser à tout le flux à nouveau. À l'origine, je voulais utiliser OllyDbg pour dupliquer le programme, pas pour le décompiler. J'espère que si je pouvais trouver un outil permettant de déboguer les programmes .NET, je pourrais inspecter les registres et les emplacements de mémoire pour voir à quoi mon entrée est comparée (comme ce qui était dit dans le tout premier lien Web). C'est pourquoi j'ai commencé à trouver le "débogueur .NET", et je n'ai pas pris la peine d'essayer un autre décompilateur comme dotPeek ou d' autres mentionnés ici . Cependant, à part l'outil de débogage officiel de M $, je n'en ai trouvé aucun autre.
Pour ici, je suppose que les outils officiels manquent de capacités de craquage. Est-ce vrai? Existe-t-il un mauvais débogueur .NET? (J'ai besoin de NOMS - mode #gangsters)
Face à une impasse, j'ai commencé à trouver un autre itinéraire. Maintenant, nous ne pouvions pas obtenir la clé utilisateur en déboguant ou en décompilant correctement. Et si on saute le processus de vérification?
Dans le code source décompilé, j'ai trouvé
XxGetUserID()
est utilisé parprfBeforeLoad()
, en plus debtnOK_Click()
. Puis j'ai enfin eu de la chance dansprfBeforeLoad()
:J'ai examiné
HKEY_CURRENT_USER\Software\XX-1234-12345678
et trouvé la cléXX-1234-12345678
et la valeur123456789ABCDEF0
. Après avoir simplement ajouté cette paire de clé et de valeur à l'emplacement correspondant dans le registre de l'ordinateur B, cela fonctionne comme par magie - sans demander à nouveau de mot de la clé d'utilisateur - bien sûr, c'est la manière dont elle est codée. B-)Titre bonus:
123456789ABCDEF0
est en fait la clé utilisateur. La saisie de la même clé dans l'interface graphique active le logiciel, ce qui a le même effet que de modifier le registre.En tout:
Cette fois, je suis assez chanceux pour que la clé utilisateur soit stockée clairement dans le registre et il m'est arrivé de trouver son chemin dans le code source (car je présume que ce n'est qu'un simple logiciel). Pourtant, il y a beaucoup d'obstacles sur lesquels je ne pouvais pas sauter:
Si la clé est combinée / cryptée avec la clé de l'ordinateur (par exemple, une adresse MAC), mon approche simple échouera.
Si la clé n'est pas stockée dans le registre ni dans les codes, par exemple, elle est récupérée en ligne. Pour l'instant, je ne peux toujours pas déboguer l' exécutable .NET , il serait impossible d'obtenir la clé d'utilisateur.
Bien que je puisse décompiler et afficher la source des programmes .NET, la DLL Microsoft Visual C ++ 6.0 reste mystérieuse.
Voici quelques autres liens (utiles):
Déchiffrer une application simple (ByPass Login) - Obtenir directement la clé à partir du code source (code d'assemblage). Il vient de fournir une capture d'écran, mais ne mentionne pas le nom de l'outil.
Programme de crack créé sur VB.NET / C # / Delphi / MC ++ / Oxygene / F # - création de keygen en inspectant le code source dans .NET Reflector. Copiez la ligne d'authentification pour générer la clé.
Cracking DLL .NET pour Amateurs [1] and [2] - assez bref mais un bon tutoriel simple. .NET Reflector ne pouvait pas ouvrir mon fichier
XXGetUserkey.dll
. Dans PEiD, c’est la DLL Microsoft Visual C ++ 6.0 qui pourrait en être la raison.la source