Cour
N°1 : Introduction
Dans
cette première partie, nous allons nous intérésser
à la partie théorique du cracking:
Cracker
un programme consiste à modifier un de ses octets
pour qu'il ne demande pas de mot de passe à l'installation
par exemple ou bien que n'importe quel mot de passe soit
accepté par le logiciel
Pour
commencer à cracker il vous faut:
-
un ordinateur avec un clavier (et de préférence
une souris) ainsi qu'un écran.
- un minimum d'intelligence (pas trop non plus).
- et de la patience (beaucoup au début).
Pour apprendre à cracker il vous faut un minimum
de programmes qui sont cités ci-dessous:
-Un
désassembleur/débuggeur (windasm,ollydbg,softice
)
C'est un programme permettant de retrouver le code assembleur
d'un autre programme, à partir de son code exécutable.
Il va vous permettre de voir quel octet changer dans votre
programme à cracker pour
pouvoir ensuite changer cet octet dans un éditeur
hexadécimal.
Pour commencer, je vous conseille de prendre windasm qui
doitêtre le plus facile à utiliser.

Voila àquoi ressemble le
désassembleur windasm.
-Un
éditeur hexadécimal (HexDecCharEditor,
Hex WorkShop
)
Un éditeur hexadécimal est un outil qui
permet de modifier les octets de n'importe quels fichiers.

C'est
dans la deuxième colonne (la plus gande) que se
situe le code hexadecimal.
Il
va vous permettre de changer un (ou plusieurs) octet d'un
fichier (.exe le plus souvent) et ainsi modifier votre
programme que vous voulez cracker.
Petit cour sur l'hexadécimal :
En hexadécimal on ne compte pas sur une base 10
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) comme nous les hommes mais
sur une base 16 :
0
1 2 3 4 5 6 7 8 9 A B C D E F
Par
exemple 0 en décimal s'écrit 0 en hexadécimal
10 s'écrit A
12 s'écrit C
et 15 s'écrit F.
Les trois sauts conditionnels à savoir pour
démarrer :
Quand le programme va devoir comparer votre code (CD key
par exemple) avec le vrai, il va indiquer si les codes
sont égaux ou non égaux. Il va les comparer.
JNE =75 ou 0F85 (jump if not equal) qui est un saut appelé
de "non égalité". Si le saut est
de la forme JNE, alors on dira que "le saut se fait
si les codes ne sont pas égaux".
JE
=74 ou 0F84 (jump if equal) est un saut qui s'effectue
en cas d' "égalité". Si le saut
est de forme JE, alors on dira que "le saut se fait
si les codes sont égaux".
JMP
=EB est un saut qui s'effectue sans condition.
Le
NOP :
Nop = 9090 (no operation,ne fait rien)
NOPPER signifie que si on remplace un saut (exemple :on
remplace 75 par 90) par un nop sa signifie que l'on enlève
le saut, (en le remplacant par "ne rien faire")
le prog ne sautera donc jamais sur le message d'erreur.
Il sera très utile par la suite dans le cracking.
-Un patcher si vous souhaitez mètre vos
cracks sur Internet.
Conclusion : Pour cracker il vous faut donc un
éditeur hexadécimal et un désassembleur.
Le désassembleur vous sert à désassembler
le programme à cracker pour voir où et quoi
modifier, l'éditeur hexadécimal vous permet
de modifier votre programme. Et un patcher si vous souhaitez
mettre vos cracks sur Internet.
|