Copy Link
Add to Bookmark
Report
Le Manuel Du CrAcKeuR Part 7
Le Manuel Du CrAcKeuR
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Part 7
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
I-INTRODUCTION
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Aprs les ftes de nol et une crise de foie me revoil
...mais je
prviens: le premier qui me parle de chocolat je lui vomis dessus :(^^).
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
II-THE TOOLS OF THE TRADE
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
-W32Dasm v8.9
Tiens il y a une nouvelle version qui est sortie, je l'ai sur mon disque
mais j'ai pas encore test....c'est la 9.3
-Softice v3.2
Indispensable....
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
III-GO AND FIGHT
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Une, deux, une, deux, une, deux, bon on reprend l'entrainement avec un
logiciel pas mal du tout:
*Borland Java Builder v2.00 Professionnel version Franaise*
C'est un logiciel que j'ai trouv sur un cd de ".net Pro"...magazine cei dit
totalement nul si il n'y avait pas son CD...
Bon donc on installe le prog....dans l'install il nous dit d'entrer 1789
comme srial...l
on doit surement pouvoir en entrer un autre qui nous
installe directement la version illimit....m'enfin j'ai pas essay...
Donc on a install le truc, on le lance.....hmmmm pas mal il mrite que je
le garde plus de 30 jours =).
Donc on augmente la date(on passe de 1998
1999 par ex) pis on look...
Une horrible boite de dialogue nous indique que "Cette preversion de Java
Builder a expire"....mouais on verra ;).
On lance donc "/JBuilder/bin/Jbuilder.exe" avec le Symbol Loader fournit avec
Softice pour pouvoir tracer depuis le debut et chopper le call qui affiche la
boite de dialogue...et donc on tombe sur ce call l
:
***********************************************
0137:0056977C call 004343A0
0137:00569781 mov eax,[ebx]
0137:00569783 call 0043442C <--- Ce call l
***********************************************
Bon on regarde autour et on voit pas de jz et autre jumps conditionnels...donc
il faut rentrer dans le call....on double clique sur le call pour mettre un
breakpoint et on relance le prog....et cette fois on trace dans le call avec
F8 puis F10....
On trace, on trace et on finit par tomber sur a:
********************************************************
jmp 004344AA
mov dl,01
call 0042FF3C <--Call qui affiche la boite de dialogue
********************************************************
Il y a de plus pas mal de jz autour...mais si vous essayez de modifier un de
ces jumps conditionnels vous vous rendrez compte que le prog ne se lance pas!
Donc ce call n'est pas seulement l
pour afficher la boite de dialogue mais
bien pour initialiser le programme....
Donc vous effaez votre precedent call(BC *) et vous double-cliquer sur ce
nouveau call, histoire de mettre un nouveau breakpnt et d'aller encore plus
en profondeur....
Donc vous recommenez tout le bazard, vous rentrez dans le call qu'on vient
de breakpointer avec F8 et vous traez pour trouver le call qui affichera
la boite de dialogue...et vous tombez sur a:
*************************************
ret
mov eax,ebx
call 0042415C <-- Here is the call
pop ebx
ret
*************************************
Bon n'effaez pas tout de suite votre precedent breakpoint, mettez en d'abord
un nouveau sur ce call et faite Ctrl+D.....et l
quesque vous voyez? Le break-
point qu'on vient de mettre arrte plusieurs fois le programme...et a ce
n'est pas bon du tout....en fait il s'aggit surement d'une boucle qui a
pour but d'initialiser le programme :(. Donc on efface le dernier breakpoint
qu'on a mit(sur le call 0042415C) et on relance encore une fois le prog....
Bon l
on touche presque au but...le breakpoint que nous avons mit nous
permet de mieux preciser l'endroit ou se trouvera l'apparition de la fentre
mais en traant cela ne marche pas....il faut donc rajouter un autre
breakpoint...essayons Bpx MessageBox...marche pas....hmmmm...il s'agit sans
doute d'une fentre normale....essayons Bpx ShowWindow....BINGO!!!
Le programme s'arrte...et si on appuit sur Ctrl+D il attend que nous
cliquions sur OK....il s'agit donc de toute vidence de la bonne fentre =).
Bon une fois que le programme a stopp vous effaez ce breakpoint car windows
a tendance a l'appeler ds que vous cliquez sur la fentre...(BL pour avoir
la liste des breakpoints, et BC <number> pour effacer un breakpoint)...
Et vous appuyez sur F12 jusqu'a revenir dans le code du programme de
JBuilder.exe....dans les 0137:004XXXXX...et vous tombez sur a
**********************************************
push eax
push 004EEE5C
call ebx <-- this is the fucking call
test al,al <-- vous vous retrouvez l
....
**********************************************
Voil
donc the fucking call qui nous appelle cette fucking fentre(ha
vraiment, le language des jeunes!!!)...bon si on nop le "call ebx"....le
programme se lance sans limitation....mais il y a des push au dessus, faudrait
les nopper aussi sinon il y a des risques de stack overflow(depassement de
pile, allez apprendre l'asm j'vous dit)...et pis a fait pas bien nickel tout
a ;).
Donc on efface tout les precedents breakpoints(BC *) et on en met un sur ce
call ebx...et on rentre dedans avec F8(vous commencez
en avoir l'habitude
non??)...et on tombe sur du jolie code comme d'ab:
***********************************************************************
mov ecx,[EBP+10]
mov edx,[EBP+0C] <-- Sans doute la date
mov eax,[EBP+08]
call 00C2D594 <-- Hello i'm here to annoy you
mov ebx,eax
test bl,bl <-- haaaa enfin un beau test ;)
jnz 00C2DBAE <-- Si t'es pas gentil tu ira dormir sans soupe
mov eax,00C2DBC0 <-- "Cette preversion a expire"
call 00C2C37C <-- Je te le montre avec ma belle boite de dialogue
***********************************************************************
Notez qqchose de trs important, regardez dans le titre de la fentre ou vous
pouvez entrez les commandes softice....il est crit:
BLDINFO!CODE+0002CB8C
En fait nous ne sommes plus dans Jbuilder.exe mais dans Bldinfo.dll, une
bibliothque utilis par Jbuilder.exe qui se trouve dans le mmme repertoire.
Revenons
notre code...
Donc on repere...le resultat du test de la date est renvoy dans eax...
eax est copi dans ebx, qui est lui test pour voir si il est
0...si il
n'est pas
0 alors il saute et se suicide...euh keske je raconte???
Si il est pas
0(donc
1 par ex) il n'affiche pas la boite de dialogue
et continue
fonctionner...
Les petits "malins" qui ont lus mes premiers tutorials diront..."mais boss,
il y a qu'a changer le jnz en jmp...et pis a roule...". Bein non mes ptits
gars...car c'est bl qui est test....et pourquoi croyez vous qu'ils aient
choisit de tester bl....et bein pour tester eax plus tard pour verifier que
des ptits crackeurs n'auraient pas voulus se foutre d'eux(non mais des fois!!)
Donc il faut modifier qqchose pour que eax soit tout le temps
1 avant
que le mov ebx,eax soit execut....bein on quitte softice, et on va
desassembler Bldinfo.dll...
On regarde dans les chaines de caractres et on trouve effectivement
"Cette prev"...donc on double clique dessus et on se retrouve au mmme
endroit que tout
l'heure avec Softice =)....on rentre dans le call qui suit
les 3 mov...
Et pis l
on fait les modifications necessaires....tout ce qu'on a
faire
c'est de mettre eax
1 et de faire un ret non?
Bein on modifit les octect suivants avec Fxedit:
********************************
55 8B EC 81 C4 B4 FE FF FF 53 56
********************************
en
************************************************************
B8 01 00 00 00 mov eax,00000001
C3 ret
FE FF FF FF > ne veut rien dire mais de toute faon ne
53 56 > sera jamais execut =)
************************************************************
Donc tout ce que fera ce call c'est mettre eax
1(ret qui le call)...
On lance et....a marche impec, et a c'est clean les aminches ;)
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
IV-CONCLUSION
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Je ne dirais qu'une chose: professionnel...mon cul!!!
SaTaNiK
<freaking@caramail.com>
http://www.multimania.com/gripsou/