Les Hacks Derrière le Craquage, Partie 1: Comment Contourner l’enregistrement de logiciels
Si vous vous êtes déjà demandé comment les pirates de logiciels peuvent prendre des logiciels et les pirater à maintes reprises, même avec la sécurité en place, cette petite série est faite pour vous. Même avec les méthodes les plus avancées d’aujourd’hui pour vaincre le piratage, il est encore relativement facile de casser presque tous les programmes dans le monde. Cela est principalement dû à la capacité des processus informatiques à être complètement manipulés par un débogueur d’assemblage. En utilisant cela, vous pouvez contourner complètement le processus d’enregistrement en lui faisant sauter le processus de vérification du code de clé de l’application sans utiliser de clé valide. Cela fonctionne car l’assemblage vous permet de parler directement au processeur et de forcer un saut sur le processus d’enregistrement.
Dans cet octet nul, examinons comment le craquage pourrait fonctionner dans la pratique en regardant un exemple de programme (un programme qui ne sert à rien d’autre que de pirater). Je ne vous expliquerai pas comment déchiffrer un programme légitime, car je ne peux pas simplement déchiffrer un programme pour la démonstration, mais les techniques appliquées à mes exemples devraient vous donner les bases nécessaires pour créer le vôtre. À ce stade, c’est un test de votre morale si vous voulez utiliser vos connaissances pour le bien ou pour le mal.
Exigences
- Windows (à titre d’exemple seulement, les débogueurs existent sur toutes les plates-formes)
- Un débogueur installé : IDA, ollydbg, etc. (ollydbg sera utilisé dans des exemples)
Étape 1 Testez le programme
Tout d’abord, exécutez le programme que vous essayez de désosser et essayez de l’activer avec une clé aléatoire pour vérifier que vous avez besoin d’une clé logicielle valide pour continuer. C’est pour vérifier que nous pouvons trouver les clés.
Étape 2 Exécutez le programme dans un débogueur
- Exécutez ollydbg.
- Ouvrez le programme que vous souhaitez contourner avec ollydbg.
- Cliquez sur le bouton de lecture pour exécuter le programme avec le débogueur attaché.
- Faites un clic droit sur la fenêtre CPU et cliquez sur Rechercher > Tous les appels intermodulaires.
- Recherchez des DLL d’intérêt élevé. GETDLGITEMTEXT, sera pour les boîtes de dialogue, qui sont appelées lorsque vous essayez d’entrer une clé logicielle. En entrant dans la fonction avec le débogueur, nous pouvons examiner spécifiquement l’enregistrement. SENDDLGITEM pourrait également être utilisé.
- Testez pour voir lequel fonctionne pour sortir de la boucle d’activation en cliquant avec le bouton droit sur l’appel DLL et en définissant un point d’arrêt pour toutes les instances de cet appel.
- Reprenez le programme et entrez la clé logicielle souhaitée. Si le débogueur se casse (interrompt l’exécution du programme) après avoir entré votre clé, vous savez que vous avez trouvé la DLL à l’étape 5.
- Appuyez sur F8 dans la fenêtre CPU pour forcer l’étape suivante jusqu’à ce que vous arriviez au TEST EAX. EAX est le retour d’une valeur, ce qui signifie qu’une vérification est effectuée ici. Après examen, nous pouvons voir que l’EAX vérifie un nombre qui n’est pas égal à une valeur nulle. Cela signifie que s’il est remplacé par autre chose que null, il s’exécutera.
- Cliquez avec le bouton droit sur l’EAX et changez-le en valeur hexadécimale à 1, au lieu de 0.
- Reprenez le programme et vous l’aurez activé avec succès.Et pour preuve, il m’a été enregistré:
Cela fonctionne parce que vous faites sauter le processus d’un registre et ignorez celui qui vérifie la clé saisie. Pour exploiter l’algorithme d’enregistrement des clés, gardez un œil sur la deuxième partie de ce tutoriel sur la fabrication du générateur de clés. Hourra pour l’assemblée!
- Poster sur les forums
- Chatter sur IRC
- Suivre sur Twitter
- Circle sur Google+
Image via msbyron27
Via Les Hacks Derrière le Craquage, Partie 1: Comment Contourner l’enregistrement du logiciel sur null-byte.wonderhowto.com .
Lire plus de messages sur WonderHowTo «