Cours n°6

WinRAR 2.71



Objectif :

1° Le cracker :
- Virer le Nag Screen
- Remplacer le "40 days trial copy" par votre nom ou mettre "registered version"
- Enlever le "(evaluation copy)" qui est dans la barre de titre.

2° Fabriquer le crack


Niveau :

1° Débutant - Moyen
2° Trop facile


Ce qu'il vous faut :

- WinDasm

- Un éditeur hexadécimal

- WinRAR 2.71



Virer le Nag Screen :

    Et voici le 6ème cours que j'écris et cette fois on va s'attaquer à un vrai logiciel plutôt qu'à un crack-me. Et ce logiciel tout le monde doit le connaître : c'est WinRar, le célèbre décompresseur. La version est la 2.71 et celle en anglais (us).

    Donc on installe WinRAR on le lance et là au bout de quelques secondes apparaît un nag screen (pour ceux qui savent pas ce que c'est, c'est un message qui apparaît pour nous dire qu'on est pas enregistré ou par exemple que le code n'est pas bon). Celui-ci nous dit "Please note that WinRAR is shareware", ça alors, dans quelques minutes il ne le sera plus. Le titre du message est "Please registrer", très original pour un shareware. Donc à ce moment on va laisser tomber les WinDasm et autres désassembleurs et on va plutôt prendre l'éditeur hexadécimal.

    On ouvre winrar.exe avec l'éditeur et on recherche notre message. Donc on va rechercher du texte (faîtes "rechercher" et taper "Please" avec la majuscule dans la partie recherche de texte 'Char'). Là bizarrement on ne trouve rien, mais c'est normal car les messages comme le notre sont marqués avec des blancs (00 en hexa) entre les lettres.

Ex : Please --> 50 6C 65 61 73 65 et avec les blancs (ce que j'appelle des blancs ce sont des vides (00) et surtout pas des espaces (20)) cela fait P l e a s e --> 50 00 6C 00 65 00 61 00 73 00 65

    Pour mettre des blancs avec HexDecCharEditor par exemple on tape "Please", on sélectionne le "e" et on appuie sur la touche "Inser" puis on fait pareil pour les autres lettres. J'espère que que vous avez compris jusque là.

    Bon, on trouve 3 "Please" le premier c'est le titre de notre message, le 2ème c'est le message lui-même et le 3ème c'est un autre Please qui ne nous intéresse pas du tout. Alors regardons le 2ème et juste avant le "P" de Please on voit 82 00. Ce qui nous intéresse c'est le 82, c'est ce qui déclenche le message. On remplace donc le 82 par 7E. Me demandez pas pourquoi on met 7E, c'est comme ça. On enregistre et là le Nag screen a disparu. C'est pareil pour la plupart des logiciels qui ont des nags screen, il faut remplacer le 82 qui est un peu avant le début du message par 7E.

 

Remplacer le "40 days trial copy" par votre nom ou par "Registered Version" :

Bon alors là c'est facile et ça va donc être vite fait. On garde encore l'éditeur hexadécimal sous la main ou plutôt sous le curseur et on recherche "40 days evaluation copy" (tapez pas toute la phrase, mettez juste le début ou un nom précis). Donc on recherche "days" par exemple. Si vous avez bien suivi ce que j'ai expliqué vous devez trouver le message. Sinon regardez la partie du cours au dessus. Je vous ai dit que pour la plupart des messages il y avait des blancs entre les lettres. Donc on recherche "d a y s" (voir ci-dessus). Il y en a deux dans tout le programme mais il n'y a que le premier avec "40 days". Et donc là vous pouvez mettre ce que vous voulez, en ne mettant surtout pas plus de 18 caractères (nombre de lettres + les espaces de "40 days trial copy") car il ne faut jamais rajouter de bytes. Faites attention aussi à ne pas effacer les blancs (00). Mettez par exemple "Registered Version" qui fait pile 18 lettres (j'aurais bien voulu le mettre en français "version enregistrée" mais ça fait 1 lettre de trop :-( ). Et voilà, passons à la suite voulez-vous.
 

Enlever le vilain "(evaluation copy)" qui est dans la barre de titre :

Passons à la suite qui est un peu plus dur. Vous voyez dans la barre de titre : "WinRAR - WinRAR (evaluation copy)" ce qui fait un peu désordre pour un de vos logiciels. Donc on va d'abord essayer de l'effacer avec l'éditeur hexadécimal. On recherche donc "evaluation copy" avec les blancs bien sûr. Et là on met des espaces (20h) à la place des lettres sans remplacer les blancs (00h) par les espaces (20h). On enregistre (n'effacez pas la dernière version car on en aura besoin bientôt) et on lance armstrong (calembour :-P ), plus sérieusement on lance le programme, mais là je ne sais pas si c'est à cause de ma vanne foireuse mais il y a un problème ! Les parenthèses restent toujours mais pourtant on ne les a pas vues dans l'éditeur. On va donc ("enfin !" me diront certains) avoir besoin de WinDasm.

On désassemble WinRAR, et on recherche "evaluation copy" dans "search" --> "Find text". Il en trouve un seul. Et on peut voir :

:0041BA15 803DCC6C460000     cmp byte ptr [00466CCC], 00
:0041BA1C 752E 
   jne 0041BA4C <-- JNE qui saute au dessus d'evaluation copy

* Possible Reference to String Resource ID=00873: "evaluation copy <-- Notre "evaluation copy"
|
:0041BA1E 6869030000     push 00000369
:0041BA23 E894C6FEFF     call 004080BC
:0041BA28 50     push eax

* Possible StringData Ref from Data Obj ->" (%s)"
|
:0041BA29 68E95F4600     push 00465FE9
:0041BA2E 8D8D00FEFFFF     lea ecx, dword ptr [ebp+FFFFFE00]
:0041BA34 51     push ecx
:0041BA35 E8AACA0300     call 004584E4
:0041BA3A 59     pop ecx
:0041BA3B 8D9500FEFFFF     lea edx, dword ptr [ebp+FFFFFE00]
:0041BA41 03C2     add eax, edx
:0041BA43 50     push eax
:0041BA44 E84B0B0400     call 0045C594
:0041BA49 83C40C     add esp, 0000000C

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0041BA1C(C)
|
:
0041BA4C 8D8500FEFFFF     lea eax, dword ptr [ebp+FFFFFE00]  <-- Là où arrive le JNE
:0041BA52 50 push eax
 

Inutile de vous dire donc ce qu'on va faire, hein ? Bon allez je vous le dis quand même pour ceux qui n'aurais pas compris. On va faire un barbecue ! Roh mais que tu es naïf... Il faut tout simplement remplacer le JNE par JE, donc 75 en 74 avec l'éditeur hexadécimal.

 

Fabriquer le crack :

Alors là c'est vraiment simple. Vous voyez ce que c'est simple ? Et bien encore plus simple ! Vous lancez un patcheur tel que WinPatchEngine par exemple, vous sélectionnez le fichier original et celui cracké, vous tapez le nom du programme, votre nom... Et vous appuyez sur "Compare" et là vous avez un beau crack tout neuf fait par vous (enfin presque vous car je vous ai aidé un peu quand même, non ?) et vous pouvez le diffuser sur le net.


Passer au cours suivant >>>
[ Cracker un crack-me ]