Tutorial
de Cracking
|
Matériel
nécessaire :
SoftIce
Les
protections :
Registration
par code
Un Nagscreen au lancement
Commencez par installer
Start Clean (et ouais ca aide si on veut le cracker non ? )
Vous allez
voir que choper un serial pour StartClean est très, mais très
facile...
Mais cela constitue, tout de même, une bonne introduction
à l'utilisation de SoftIce.
Commencons...
Lancez Start Clean et lorsque le nag apparrait, cliquez sur Register...
Renseignez
les champs : mettez votre nom (pour moi julien Lemaire ou pseudo peu importe) et un serial bidon
(12345).
Appuyez sur Ok, et une boite de dialogue apparait avec 'Incorrect
code!'.
Et oui, on ne chope pas un serial valable avec la chance, vous croyez
quoi !!!!
Répetez
l'opération précedente mais n'appuyez pas sur Ok. Maintenant allez
sous SoftIce pour cela
faites Ctrl+D et posez un
"bpx Getdlgitemtexta".
(cette
commande de SoftIce permet de poser un point d'arret sur les "objet"
de la fenetre ou vous rentrez le nom et le numero de serie...Comme ca, des que
StartClean va regarder ce que vous avez rentré comme serial, on va arriver
sur SoftIce et on pourra suivre les operation pas-a-pas :)
Ensuite sortez
de SoftIce et appuyez sur Ok.
Voilà
vous êtes sous SoftIce (grace au bpx
!).
Faites tout de suite F12 pour sortir du CALL
(la fonction appelée).
Là,
regardez dans la fenêtre des registres (tout en haut...), et plus spécialement
la ou il y a marque "EAX".
(Dans la fenetre des registres, vous pouvez voir les valeur de tout les registres
memoire à un instant donné. Tous les registres sont interressant
a observer.
En fait, il est tres utile de les regarder a chaque pas que l'on
effectue sous SoftIce.
C'est indispensable pour trouver un serial...Et n'oubliez
pas que les registre sont en Hexa !!)
La
valeur de EAX est de 0000000E.
Tiens, bizarre ca ne serait pas la longueur de notre nom ?
Et oui 0E en décimal
ca donne 14 (il y a 14 lettres dansJulien Lemaire !!).
(Si vous voulez convertir
une valeur héxadécimale en décimale tapez "?
valeur_hexa" ou "? nom_du_registre")
Maintenant,
faites d esp+18 et dans la fenêtre des données
et on voit....rien...pas grave continuons..
(La fenetre des
données est la partie de SoftIce ou il y a des trucs du style de ce qu'on
peut voir dans un editeur hexadecimal...et "d nom_du_registre"
affiche les infos contenu a l'adresse du registre... C'est souvent grace a cette
commande qu'on peut trouver un serial)
La zone de saisie que l'on trace pour l'instant semble
etre celui où l'on a rentré notre nom...
En effet, chaque zone
de saisie est traitée l'une apres l'autre. De facon general, l'ordre
dans lequel elle sont traités est coïncide souvent avec l'ordre
qu'elle ont dans la fenetre...Par exemple, dans StartClean, on a d'abord le nom
et ensuite le password...d'ou il est fort probable que l'on atterisse d'abord
sur la premiere zone (le nom) puis sur la seconde (le serial..) (je rappelle
que "bpx getdlgitemtexta" permet d'arriver
sur SoftIce dès que le programme appelle une zone de saisie...)
On
refais F12 pour atterir sur la deuxieme zone de saisie
(le serial..), et ici là valeur de EAX
est de 00000005.
Tiens, bizarre ca ne serait pas
la longueur de notre serial ?
Et si on fait "d esp",
on voit dans la fenêtre "Data" 12345...Eh!! mais c'est
notre serial !!
Plus de doute, on est bien dans la zone de saisie qui nous
interresse !!
Y'en a qui doivent se dire "Comment on sait
kil fo faire "d esp" ou aut' chose ????"
Bon, dans ce
genre de cas, apres avoir appuyer sur F12, on arrive sur une instruction du
style "push esi" ou "push edi"...bref, on tombe sur "push
xxx", et alors il suffit de faire "d xxx"...
On
va poser un bpm (un point d'arrêt sur une zone
de la mémoire) comme ca quand le programme va comparer notre serial au
bon on pourras essayer de le choper. Mais pour poser un bpm il faut une adresse...Regardez
à la gauche de la fenêtre sur la meme ligne que '12345'. Ici il
s'agit de 63F4E0.
(Attention: l'adresse n'est
pas la meme tout le temps, ne vous etonnez pas si c'est differrents chez vous...).
Donc
on tapes bpm 63F4E0 et on fait Ctrl+D
(pour laisser le programme continuer son éxécution).
Si tôt
sorti de SoftIce qu'on y retourne, et on voit alors ces lignes :
MOV
AL, [EAX] => met le contenut de EAX dans AL (sans doute le bon serial..)
CMP
[ECX], AL => Compare ECX avec AL ; compare le bon serial et celui
que vous avez entré
JNZ BFF7A7E8 => On
dégage si c'est pas bon (ndSmeita: c'est a cette ligne qu'on arrive...)
CMP
BYTE [ESI],00 => Regarde si ESI=0 (c'est à dire si ESI est
le bon serial)
Tapez
simplement d esi (cette commande permet de voir ce que
contient le registre ESI dans la fenêtre DATA) et dans la fenêtre
data apparait mais oui votre SERIAL OFFICIEL !!!!
Donc pour CrAzY SquirreL
le serial est 2730-26346-1673-333.
Pour info, le serial bidon est visble
en tapant "d edi"...
Enlevez les breakpoints
à l'aide de la commande bc * (cette commande
permet d'ôter tous les breakpoints posés auparavant), puis quitter
SoftIce avec Ctrl+D.
De retour dans StartClean,
rentrez le nom et le serial obtenus, et...Bravo!!! StartClean est encore
cracké !
Les prochains cours ne s'attaqueront plus a ce logiciel en particulier
:)
Par exemple, dans le cours qui suit, vous allez apprendre a chopper un
sérial pour Winzip 7.0 !!
Comme ca, au moins, vous pourrez flamber devant
les copains ;)