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.
Malheuresement, 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.
(ndSmeita: 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.