Tutorial
de Cracking
|
Matériel nécéssaire : SoftIce
Dans ce cours nous allons expliquer comment cracker Winzip 7.0, programme de compression très utilisé et quasi indispensable surtout sur le net. Nous allons utiliser dans ce cours la méthode qui permet de trouver un serial qui corresponde à notre nom.
Matériel nécéssaire : winzip
Pour
cela il faut poser un breakpoint sous SoftIce, les deux fonctions les plus couramment
utilisées dans la lecture d'un champs sont GetWindowTextA
et GetDlgItemTextA.
Donc allez sous SoftIce (à
l'aide de Ctrl-D) tapez bpx GetDlgItemTextA
puis bpx GetWindowTextA.
Quittez SoftIce toujours
avec Ctrl-D, et mettez un nom (Julien Lemaire) et
un serial bidon (12345).
Ensuite appuyez sur Ok, et là on se retrouve
immédiatement sous SoftIce.
Faites
F12 pour sortir de la fonction pour voir si Winzip lit
notre nom et effectivement on voit EAX=12.
Mais
qu'est que ca pourrais bien être ? Il faut savoir que les valeur des registres
sont héxadécimales et non décimals, donc 12=18 en décimal...
Et il se trouve que 18 est longueur de mon nom!
Et la ligne sur laquelle
nous emène SoftIce est PUSH EBX...
Faites
donc "d EBX" et dans la fenêtre Data
on apercoit notre nom !
Faites
F12 pour que SoftIce continue son éxécution
et lise notre serial (car pour l'instant, on est dans la routine qui lit
la zone de saisie contenant notre nom...).
Là, EAX=5
c'est à dire la longueur de notre code.
Et la ligne sur laquelle on
se trouve est PUSH ESI...
Ainsi, comme precedemment,
faites "d esi" et on voit notre serial bidon.
Et
maintenant qu'est qu'on fait ?...On peut supposer que Winzip va générer
le serial valide et le comparer au notre et s'il sont différents nous
envoie la boite de dialogue 'Incomplete or ...'
On peut donc supposer
qu'il va comparer à un moment ou à un autre notre serial (12345)
au bon...
On va donc poser un bpm (arrêt sur
une zone de la mémoire) sur 12345.
Pour cela il nous faut l'adresse
à laquelle se trouve le serial, donc quand Winzip lit notre serial et
que vous faites d esi notez l'adresse à laquelle
il se trouve. [je rappelle que pour trouver l'adresse, il suffit
de regarder sur la meme ligne que 12345, mais tout a gauche...(la ou il y a
xxx:xxxxx sur mon beau dessin :))...]
Dans mon cas, j'ai 47D958. La commande
à taper est donc bpm 47D958 (notez que cette
adresse n'est pas forcement la meme chez vous !!).
Ensuite
faites F5 (pareil que Ctrl+D...) pour que Winzip continue
son éxécution jusqu'à ce qu'il éxécute notre
bpm. Winzip fais plusieurs fois référence à cette zone
de la mémoire, en effet il est entrain de créer le bon serial
par rapport à notre nom. On fait plusieurs fois F5
(ou Ctrl+D...), cinq fois éxactement et là nous arrivons sur des
lignes de code interressantes...:
MOV
AL, [ESI] => met ESI dans AL
INC ESI
MOV
AH, [EDI] => met EDI dans AH
INC EDI
CMP
AH,AL => compare AL et AH...(c'est pour ca que c'est interressant...)
Faites
d esi et vous on voit notre serial bidon dans la fenetre
des données.
On peut donc supposer que EDI contient le bon serial,
faites d edi et vous voyez A24A388C :))
On
peut constater que si on continue à faire F5
(ou Ctrl+D, c'est pareil...), on tombe de nouveau sur les mêmes lignes
que précédemment mais que le serial est différent mais
également valide. Peut être qu'il d'agit d'un sérial d'une
version antérieur...(on obtient 21645132)
Donc
pour Julien Lemaire le serial est A24A388C ou 21645132 !!
Quittez SoftIce
en enlevant d'abord les breakpoints (en faisant bc *
puis F5) et rentrez les informations obtenues (c'est
a dire le serial...) dans Winzip... Maintenant Winzip est enregistré
!
Bon, vous avez vu ?? C'est pas si dur !!
En plus, ce
qu'est cool avec SoftIce, c'est qu'y a pas de modif' en hexa ! ;)
Maintenant,
entrainez vous un peu avec des sharewares a deux balles, et puis vous deviendrez
vite un virtuose de SoftIce :))...Quand aux prochains cours (les 'Flash Tuts'),
il vont reprendre notre bon vieux WinDASM, histoire de completer vos connaissances...Il
sera peut etre plus difficile de les mettre en pratique, car vous ne disposerez
pas des logiciels sous la main...mais bon, lisez les quand meme, il finiront
peut-etre de vous eclaircir sur l'utilisation de WinDASm :)
PS: Au fait,
pour ceux qu'on toujours pas compris, Ctrl+D c'est pareil que F5 :)