Bien débuter

Avant de commencer à aborder notre première leçon de cracking, il faut comprendre la structure conditionnelle.
Comme son nom l’indique c’est une condition, ce qui veut dire qu’une action (ou plusieurs) ne pourrant pas s’effectuer tant que cette condition n’est pas vérifier.

Si [condition vrai] alors [action1] sinon [action2]

Pour nos leçons de cracking nous allons beaucoup parler de code, serial… voici un exemple schématisé d’une simple protection qu’un logiciel peut utiliser afin de savoir si votre code est correct :

 

Donc pour communiquer avec l’utilisateur le logiciel vous affiche un message a l’écran, (comme nous le montre la figure-4) le logiciel test si le code que vous avez taper est correct alors il vous affiche un message qui vous dit que le code entré est correct mais dans le cas contraire le programme vas nous dire d’aller jouer ailleurs  car notre code est incorrect.


Figure-4

Alors pour arriver au bon message (celui qui nous dit que le code est correct) il faut tout d’abord commencer par avoir vos outils à côté de vous :

Sur ce cours je ne vais pas entrée tout de suite dans les détails je vais plutôt d’écrire les outils primordiaux à connaître avant de passer au cours suivant qui est un CrackMe.
Je vais commencer par W32Dasm (le meilleur pour le moment)

W32Dasm (désassembleur) :

Ca ressemble a ça :


Figure-5

Donc pour ouvrir un fichier et le désassembler il suffit de cliquer «Disassembler» et «Open File to Disassemble..» et vous aurait le code du programme, un truc de ce genre :


Figure-6

nous obtenant ainsi le code du programme en instruction Assembleur mov, add, pop… qu’on a vu dans le cours précédant, mais vers la gauche (adresse en bleu) c’est l’adresse Assembleur, juste à côté (en vert) c’est la codification en hexadécimale des instructions assembleur qui sont sur la droite (une instruction par ligne).

Le logiciel a cracker :

ça peut être un CrackMe, un vrais logiciel… tout viendra

Un éditeur hexadécimal :

WinHex (celui que j’utilise) très facile à utiliser, vous allez bientôt savoir a quoi il sert ?
Il ressemble à ça :


Figure-7

Résumé :

Désassembleur : permet de lire le code assembleur d’un programme, même si ce dernier a été écrit en C++, Delphi ou VB. Tout simplement, quand vous compiler une source Delphi par exemple le compilateur le traduit en assembleur.

Débogueur : il permet d’exécuter et d’interrompre l’exécution d’un programme, mais simplement en mémoire, il est aussi très important afin de tracer un programme et de connaître le contenu d’un registre à n’importe quel moment il faut juste lui demander gentiment

Editeur hexadécimale : celui-la, permet de modifier un programme pour vrai, ainsi on peut changer un saut conditionnelle en un saut inconditionnelle, changer une phrase, etc…

Cours précédant :
<< Comprendre l'assembleur

Cours suivant :
CrackMe >>