6)Crack de Winrar 2.05 et 2.50
WinRAR 2.05
Outils : w32dasm, un héditeur héxa.
Niveau : débutant voir bidon
On commence par désassembler le fichier winrar95.exe sous w32dasm.
Ensuite, on lance le programme (CTRL + L)
Puis on l'exécute (F9)
On voit la fentre de winrar qui s'ouvre, et première conclusion, l'expression "(evaluation copy)" nous démasque et prouve qu'on est pas enregistrer. On va donc rechercher la chaîne "(evaluation copy)" (avec String DATA reference)
Une fois qu'on la trouvé, on remonte dans le programme jusqu'à ce qu'on trouve une instruction de saut.
Au bout de quelque ligne, on arrive à un jne ce qui veut dire "saute si différent". On note l'adresse. On revient à la ligne "(evaluation copy)" et refait une recherche pour vérifier si cette chaîne se trouve une 2e fois dans le prog. Non, c'est bon, elle n'y est q'une fois.
Maintenant, on arrete le programme (terminate) puis on le relance (sans faire F9). On va à l'adresse qu'on à relevé (Goto adress) et on place un BP sur cette ligne (bouton gauche + CTRL dans la fentre principale).
On lance le prog (F9). On voit que le prog s'arrete sur notre BP. Comme le saut disait "si différent" on va le remplacer par "si égal" qui est l'instruction je. On clique sur "patch code" et on réécrit pareil, en remplacent le jne par un je.
:00418D11 lea edi, dword ptr [ebp+FFFFFD14]
:00418D17 mov ecx, 0000004B
:00418D1C repz
:00418D1D movsd
:00418D1E cmp dword ptr [0042575C], 00000000
BP*:00418D25 jne 00418D56
:00418D27 push 00426B19
:00418D2C lea eax, dword ptr [ebp+FFFFFD14]
:00418D32 push eax
:00418D33 call WINRAR95.0041CDE8
:00418D38 add esp, 00000008
On fait "apply patch" puis, F9
Voilà, le programme est lancer et le message d'évaluation à disparu.
On va à l'adresse ou on à mis le BP et on releve l'offset (barre de status). On releve aussi les instruction se trouvant à coté de l'adresse du BP (752F) et celle se trouvant dans la fenetre "patch code" (742F)
Ces 3 info vont permetre de faire un crack. Il suffira d'aller, avec un héditeur héxa à l'offset relevé et de remplacer les numéros relevés en premier par ceux relevé en second.
On continu à fouiller le programme et on se rend compte qu'il ne permet pas de créer une marque d'authenticité, ni d'en lire une. On va donc y remédier. Lorsqu'on coche la case, le message "available in registered version only" apparait. Donc, même principe que tout à l'heure. On recherche, on note et on lance. Ce coup-ci, on trouve 2 occurence du message (une pour mettre l'authenticité et une pour le changement des options.)
Encore comme tous à l'heure, on remonte jusqu'a trouvé une instruction de saut et on place un BP.
Une fois le prog lancer, lorsqu'on clique sur "Put authenticity ...." on arrive à 1 des 2 BP.
:00413F5B push esi
:00413F5C call WINRAR95.0042488A
:00413F61 mov eax, 00000001
:00413F66 jmp WINRAR95.004141B6
:00413F6B cmp dword ptr [0042575C], 00000000
BP*:00413F72 jne 00413F98
:00413F74 push 00000030
:00413F76 push 0000001A
:00413F78 call WINRAR95.0041A168
:00413F7D pop ecx
:00413F7E push eax
L'instruction étant un jne, on va la remplecer par son contraire, le je.
Donc, on patch, et on lance. Ca a marcher, plus de message et la case reste coché!. Donc, on relever les infos, comme tous à l'heure.
Maintenant, on essaye de changer les options. On arrive sur le second BP.
:0041389B add edx, FFFFFF77
:004138A1 sub dx, 0002
:004138A5 jb 004138A9
:004138A7 jmp WINRAR95.004138ED
:004138A9 cmp dword ptr [0042575C], 00000000
BP*:004138B0 jne 004138E6
:004138B2 push 00000030
:004138B4 push 0000001A
:004138B6 call WINRAR95.0041A168
:004138BB pop ecx
:004138BC push eax
Là, même combat. Le jne en je. On relance et ça marche donc on releve les info.
Voilà, vous ête capable de rendre winrar pleinement opérationnel. Mais nous alons fignoler.
Lorsqu'on rentre n'importe quoi comme sérial, il nous répond "registration failed". On va donc arranger ce probleme.
On recherche la chaîne. On remonte, on note, on lance et on patche. Cette fois encore, on va devoir patcher un jne en je.
:00413C51 lea eax, dword ptr [ebp-64]
:00413C54 push eax
:00413C55 call WINRAR95.0040A4A5
:00413C5A add esp, 00000008:00413C5D test eax, eax
BP*:00413C5F jne 00413C93
:00413C61 push 00000030
:00413C63 push 0000001A
:00413C65 call WINRAR95.0041A168
:00413C6A pop ecx
:00413C6B push eax
On remplace le jne par un je et le prog accepte n'importe quel sérial!!
Bon, je crois que ça suffit pour cette fois.
OphSet
darkp@francemel.com
http://members.xoom.com/ophset
----------------------------------------------------------------------------------------------------------------------------------------
Winrar 2.50 maintenant
WinRAR 2.50
Outils : w32dasm
Les limitations :
add file :
put authenticity
erase destination disk
setings :
general :
log error to file
compression :
put authenticity
pricipal :
evaluation copy
meunu option :
registration
Aller, on y va!
On désassemble winrar.exe et on recherche toutes les références aux limitations relevées.
On commence par le menu Registration.
On y trouve 2 références :
:0044C4D2 BB02000000 mov ebx, 00000002
* Possible Ref to Menu: MAIN_MENU, Item: "Registration"
|
* Possible Reference to String Resource ID=00132: "Delete files"
|
:0044C4D7 C745FC84000000 mov [ebp-04], 00000084
Et
:004011A5 833D8426450000 cmp dword ptr [00452684], 00000000
:004011AC 7421 je 004011CF
:004011AE 6A01 push 00000001
* Possible Ref to Menu: MAIN_MENU, Item: "Registration"
|
* Possible Reference to String Resource ID=00132: "Delete files"
|
:004011B0 6884000000 push 00000084
:004011B5 6A04 push 00000004
:004011B7 8B15806B4500 mov edx, dword ptr [00456B80]
Etant donnée les codes assembleur, je pense que c'est la 2e qui nous intéresse.
On place donc un BP sur le je.
Maintenant, on lance winrar. On atterri sur le BP. On le patche en jmp :
:004011AC EB21 jmp 004011CF
De cette façon, quoi qu'il arrive, la partie du code en dessous du je sera sautée. On teste. Le menu registration est toujours la. C'est qu'il ne faut pas sauter le code en dessous du je mais l'exécuter. On remplace donc le je (qui est maintenant jmp) par un jne :
:004011AC 7521 jne 004011CF
Maintenant, le menu registration est désactivé. On peut passer à la suite.
Maintenant, on va voir le message evaluation copy.
Il n'y est qu'un fois. On y place un BP :
:0041569D E81A330300 call 004489BC
:004156A2 83C40C add esp, 0000000C
:004156A5 833D8426450000 cmp dword ptr [00452684], 00000000
BP* :004156AC 752F jne 004156DD
* Possible Reference to String Resource ID=00873: "evaluation copy"
|
:004156AE 6869030000 push 00000369
:004156B3 E8D41CFFFF call 0040738C
:004156B8 59 pop ecx
On lance le prog et on patche ce jne en jmp. On teste, le message à disparu. Au suivant !
A partir de maintenant, il vous faudrait relever toute les occurrence de la chaîne . Pour vous accélérer le boulot, je vais vous donner les seules qui nous intéresse.
Pour le message de setings -> general -> log error to file :
* Possible Reference to String Resource ID=00106: "Available in registered version only"
|
:00404739 6A6A push 0000006A
Pour le message de setings -> compression -> put authenticity
* Possible Reference to String Resource ID=00106: "Available in registered version only"
|
:00404BB2 6A6A push 0000006A
Pour le message add file -> put authenticity
* Possible Reference to String Resource ID=00106: "Available in registered version only"
|
:0040C08F 6A6A push 0000006A
Pour le message add file -> erase destination disk
* Possible Reference to String Resource ID=00106: "Available in registered version only"
|
:0040C0C3 6A6A push 0000006A
Voilà, maintenant, on va commencer à placer les BP. On va à la première adresse, celle de log error…
On remarque en remontant un peu que ce message est appelé par un jne :
:0040472C 7524 jne 00404752
On lui met un BP.
Adresse suivante. Elle est aussi appelé par un jne :
:00404BA5 7524 jne 00404BCB
donc, BP !
Il en va de même pour les 2 autre adresse. Elle sont respectivement appelé par un jne se trouvant à l'adresse 0040C082 et 0040C0B6. Maintenant qu'on à placer tous les BP, on lance winrar et teste toutes les limitations.
A chaque fois, on va arriver sur un des BP posé.
On arrive sur le 1er. On la patche en jmp et on teste. Ça marche ! Donc, comme les autre BP sont sur le même modèle que celui-ci, il suffit de tous les patcher en jmp !
Vous avez maintenant un version de winrar complète ! ! !
Récapitulation des patches à effectuer :
Action : Offset Code héxa de départ Code héxa modifier
Enlever le message " evaluation copy " 00014CAC 752F EB2F
Désactiver le menu registrartion 000007AC 7421 7521
Réactive " put authenticity " dans " add file " 0000B682 7524 EB24
Réactive " erase destination disk " dans " add file " 0000B6B6 7524 EB24
Réactive " put authenticity " dans " setting " 000041A5 7524 EB24
Réactive " log error to " dans " setting " 00003D2C 7524 EB24
Voilà, A+ dans un autre cours.
OphSet
Darkp@francemel.com
http://memebers.xoom.com/ophset