Tutorial
de Cracking
|
Pour
cracker, vous aurez besoin:
-de votre éditeur héxadécimal
préféré
-de WinDASM
-et cette fois, pas besoin d'un
cerveau super réveillé
Unreal a été,
en son temps, un jeux magnifique, super beau, super jouable, avec une bande-son
superbe aussi. Malheureusement, pour en profiter pleinement, il faut l'installer
complètement sinon ses temps de chargement CD sont beaucoup trops longs.
Parlons
en du CD tiens !
Une
fois UNREAL installer complètement, à chaque fois que je démarre
le jeux, il me demande ce CD. Comme je suis de nature assez bordélique,
et que j'éguare souvent mes CD dans le foutoir qu'est my bedroom, j'ai
décider de faire un crack pour jouer sans CD.
Dans ce tutorial,
je vais donc vous expliquer mon résonnement... Ca n'a pas été
évident du fait que j'ai dû tout détailler alors que ce
crack ne m'a pris que 5 minute. Hééé oui, c'est certainement
un des cracks que j'ai fait le plus rapidement, c'est donc pas forcément
parcqu'on sattaque à une grosse boîte, que le crack sera dur.
Bref
passons aux choses sérieuses et commençont:
Au
début, on serait tenté de désassembler le fichier Unreal.exe,
hophophop! Pas du tout! Quand on démarre UNREAL sans CD la boîte
de dialogue qui réclament le CD vient du fichier Window.dll.
(
de facon generale, quand vous trouvez rien d'interressant dans le fichier '.exe'
et qu'il existe des Dlls qui accompagne le programme, il ne coute rien de desassembler
ces Dlls, histoire de voir si c'est pas dedans que ca se passe :)...)
Il
faut donc désassembler le fichier window.dll.
(apres avoir fait une copie de sauvegarde...)
Lancez une recherche sur
la String Reference "Cd Required"...
On
tombe alors sur cette partie:
:10B1C3D5 A114B7B310 mov eax,dword ptr [10B3B414] :10B1C3DA 833800 cmp dword ptr [eax], 00000000 //Regarde si eax=0 :10B1C3DD 75E3 jne 10B1C41D :10B1C3DF 8D8DE49FFFF lea ecx, dword ptr[ebp+FFFFFF9E4] :10B1C3E5 51 puch ecx :10B1C3E6 FFD3 call ebx :10B1C3E8 83C404 add esp, 00000004 :10B1C3EB 85C0 test eax, eax //Test :10B1C3ED 7F2E jg 10B1C41D //meme saut qu'en 10B1C3DD... :10B1C3EF 680120000 push 00002001 *Possible StringData Ref from Data Obj - >"Cd Required" :10B1C3f4 68089DB310 push 10B39D08 *Possible StringData Ref from Data Obj - > "Please insert CD-Rom in drive"
On
effectue le saut en:10B1C3DD
On
remarque qu'il atterit juste après le "ExitProcess" (donc juste
apres les messages d'erreur) ce qui signifie que la procédure de fermeture
n'est pas prise en compte si cmp eax=1.
Comme
d'habitude, saut conditionel est présent (ici on a jne...),
donc si le CD est présent
le saut conditionel est ok sinon UNREAL
affiche le message " Please insert CD..."
Trop
fastoche, il suffit de remplacer le 'jne' par un
'jmp', saut qui s'effectue quoi qu'il arrive ! (saut
inconditionnel !!)
C'est à ce moment là qui faut ouvrir
window.dll avec votre éditeur héxa préféré
et de faire la modif' suivant ;-))
Cherchez
-------> 75 3E 8D 8D
Remplacez
par --> EB 3E 8D 8D
Conclusion:
Les
programmeurs de ce jeux sont pas cons du tout, car ils ont enfin comprit qu'il
était inutile
de se faire ch... en faisent des protection anti crack
qui de toute façon se font largués les jours qui suivent.
PS
: pour ceux que ca interresse, la valeur hexadécimale A114B7B30
(qu'on
peut retrouver à l'addresse 10B1C3D5)
est en rapport avec le type de securité appelé Realloc@...