1) Edito:
Bonjour à tous ! Eh oui, déjà un troisième tutorial ! C'est que je bosse moi ;-Þ.Aujourd'hui, nous allons voir comment cracker WinRar version 3.20 par Eugène Roshal. C'est un assez bon exemple pour illustrer mon précédent cours (comment supprimer un nag screen avec un éditeur de ressources).Mais, nous aurons aussi besoin des bonnes vieilles méthodes, à savoir W32DASM et un éditeur héxadécimal. Comme d'hab, vous savez que c'est illégal, et qu'il ne faut pas faire trop de bêtises .Mais bon, au point où on en est, une de plus hein :).Allez, la présentation du soft.
2) Présentation du logiciel :
A télécharger sur www.telecharger.com
WinRar est un logiciel extrêmement connu dans le domaine informatique. il permet de compresser, décompresser des fichiers, possède une interface simple et plutôt intuitive, et est assez facile à utiliser. Comme c'est un logiciel très connu, je ne vais pas m'étendre plus que ça sur la description. Attaquons directement la partie outils nécessaires.
3) Outils neccessaires :
-W32DASM : A télécharger sur www.deamoncrack.fr.st
-Un éditeur héxadécimal : Ici nous utiliserons celui fourni dans la suite Hackman, mais n'importe quel autre fait l'affaire ! A télécharger sur www.clubic.com/t/fiche1251.html
-Un éditeur de ressources : Ici, ce sera ResHacker (le meilleur à mon goût).A télécharger sur : http://coolparadise.online.fr/dwld/progz-underground.htm
C'est tout ce dont nous aurons besoin pour cracker ce prog. Passons maintenant à l'attaque !
3) Cracking :
Bien, nous avons donc installé WinRar 3.20, nous l'avons testé, vu qu'il était bien, mais nous avons aussi vu ces quelques points négatifs :
- Un (Version d'évaluation) dans la barre de titre
- Un vilain nag-screen qui apparaît au bout de 40 jours d'utilisation / Un texte dans le menu A propos " Version d'évaluation utilisable 40 jours "
- 3 options interdites en version non enregistrée
Ok, maintenant que l'on sait tout ça, on va commencer par le nag-screen et le texte en les supprimant avec ResHacker. On charge notre programme à l'aide de ResHacker, puis nous ouvrons l'onglet Dialog, car c'est là que sont toutes les fenêtres. Youpi ! La chance ! Toutes les ressources sont indiquées grâce à des noms ! Eh oui, c'est une chance, car dans beaucoup de progs, les ressources sont indiquées avec des numéros ! Donc pas d'indices ! Ce qui signifie aussi recherche plus longue et fastidieuse ! Et en plus, comble du bonheur, on a la ressource ABOUTDLG en 1er ! Yeah...Et bien sur, notre vilaine phrase qui ne demande qu'a se faire supprimer.
Okay, donc là, procédure simple, click droit sur la phrase, éditer le contrôle, puis vous modifiez le texte à votre guise (moi j'ai mis "Version crackée par Nessus ").Vous pouvez aussi simplement modifier directement le texte grâce au code source derrière la fenêtre. Bien, on a modifié le texte, on click sur une autre ressource, il nous demande si l'on veut enregistrer, on dit oui, puis ensuite on fait Fichier-->Enregistrer (oui oui les 2).Ce qui et cool, c'est que ResHacker fait une copie de sauvegarde du programme, au cas où ça tournerait mal (d'ailleurs, ça se voit sur le screen shoot, c'est le fichier WinRAR_original.exe).On va maintenant s'occuper du nag-screen. Comme vous le savez, tout est indiqué par des noms. Nous cherchons NAG mais il n'y a pas ce nom là, donc, nous cherchons un truc qui voudrait dire "rappel" ou quelque chose du genre. Et nous avons REMINDER (Celui qui rappelle en Anglais).Eh oui ! Il contient bien notre nag-screen ! Nous allons donc le supprimer.
Rappel : Supprimer une ressource, Click droit dessus-->Supprimer la ressource-->Oui
OK, on enregistre les changements comme précédemment, mais cette fois, on va tester le prog. Si on est pas arrivé au bout des 40 jours, on décale l'horloge de l'ordinateur, puis on lance. Ouais ! Plus de nag-screen ni de phrase désobligeante ! La partie ResHacker est donc terminée ! On va donc passer au message gênant de la barre de titre, puis enfin aux trois fonctions interdites.
Pour le message, ce sera assez simple. Lorsque l'on lance WinRAR, on voit qu'il affiche en premier lieu le nom du dossier par défaut, - WinRAR et (Version d'évaluation).Utiliser un éditeur hexadécimal ne fonctionne pas, il faut donc utiliser W32DASM.On déduit que le texte avec le dossier dans la barre de titre est une variable. Ben oui, c'est pas toujours le même dossier ! donc on ouvre W32DASM, on charge notre prog, puis on va dans les strings data reference. comme les variables sont représentées avec le signe %, on va voir par là-bas, et on voit : %s - WinRAR.Il se pourrait bien que ce soit le bon !
Eh oui ! C'est ici !
On voit donc le %s - Winrar accompagné d'un (evaluation copy) un peu plus loin. Et juste avant, on voit que ce (evaluation copy) est apellé par un saut conditionnel situé en 004498EA !Donc, on va aller y faire un tour...Et la, surprise, le saut est juste un poil plus haut ! Juste en dessous de %s - Winrar ! C'est un JL, autrement dit, un Jump if Less, ou saut si inférieur. Et en dessous, un autre saut, lui aussi u JL, on va donc voir où il mène. Mouais, c'est pas beaucoup mieux, c'est un texte "seulement % jours pour vous enregistrer", donc, on va pas modifier ce saut là, par contre, il y en a un au dessus, un JNE, Jump if Not Equal, saut si non égal, donc on va voir là où il nous mène, et apparemment, ça à l'air d'être OK, car il n'y a pas de string data reference à proximité, donc il faut le changer en JMP de manière çe qu'il saute tout le temps !
On va donc ouvrir notre éditeur hexadécimal puis remplacer.
803DE8ED490000757AA148054B00 ve devenir :
803DE8ED490000EB7AA148054B00
On enregistre, on ouvre WinRAR, ça a marché ! Bon, récapitulatif :
- Nag-screen : OK
- Phrase dans About : OK
- Texte dans la barre de titre : OK
- 3 fonctions désactivées : Pas encore
Bien, passons donc à la réactivation de ces fonctions (qui sont : Placer les erreurs dans le journal, vérifier l'authenticité des fichiers décompressés et supprimer le disque de destination avant archivage).Le message est : Attention : Possible uniquement en version enregistrée ou quelque chose du genre, mais en anglais, ça donne : Available in registered version only. Bon, on cherche donc ça à l'aide de W32DASM, mais le problème, c'est qu'il y a une dizaine d'occurences. Et là, vous allez souffrir. Vous devrez en effet noter chaque adresse de chaque occurrence sur une feuille, puis les breaker à l'aide du debugger de W32DASM et enfin lancez l'application pour voir ou pacther. Mais je vais vous aider pour que ça aille plus vite.
Vous relevez donc l'adresse, vous reclickez sur Available in registered version only, vous renotez et ainsi de suite. Ensuite, vous breakez, pour ce faire, appuyez sur ctrl+L puis sur Load. Ensuite, vous faites : Go to--> Code location-->vous rentrez une adresse-->Vous appuyez sur F2, un carré jaune est là, vous refaites ensuite la même procédure pour chaque adresse, puis vous cliquez sur Run (ou F9).
Note : Ceux que ça énerve regardez en bas de la page les adresses à breaker
Ensuite, vous lancez WinRAR puis allez dans options et cliquez sur une des options interdites. Là, W32DASM surgit, vous aurez sur la fenêtre de droite une adresse et à sa gauche BP *.Cliquez sur terminer dès qu'il y a break, ça ne sert a rien d'aller plus loin, agrandissez votre fenêtre, puis vous aurez une figure du style :
Nous allons donc nopper ce call de manière à ne plus avoir de message d'erreur ! Mais le problème, c'est qu'une fois le call noppé, plus de message, mais pas de case cochée non plus ! car le "Deselect Group " est actif ! Mais pour remédier à cela, nous voyons au dessus le saut conditionnel, le JE, nous allons donc voir où il nous mène. Et il se trouve qu'il nous mène dans une autre partie de code apparemment sans protection ! Donc, nous allons le transformer en JMP de manière à ce qu'il saute toujours par ici ! Je vous laisse le soin de modifier ça en hexadécimal, puis de sauvegarder. Nous avons donc noppé les calls, transformé en JMP les sauts avant les calls, nous pouvons maintenant voir si ça marche, et....Oui ! Ça marche ! Qu'est-ce qu'on est doués ! :).Nous allons donc effectuer cette même opération sur chacune des options interdites (c'est à dire sur chaque call qui l'appelle et sur chaque saut placé avant).Nous enregistrons tout, nous lançons, et voila ! Le logiciel est cracké entièrement !
Aide : Voici les adresses précises à breaker, puis à modifier ensuite :
:0044DF50 ; :004642A9 ; :0046973F ; :0044BD6D ; :004417AC ;
Conclusion :
Ici la protection la plus dure est sans conteste les 3 fonctions interdites. Si vous rencontrez d'autres cas comme celui là, essayez ! Il est possible que cela fonctionne. Schéma :
Saut si enregistré vers non-protection <-- faire en sorte de toujours sauter pour éviter les autres protections
call apellant le msg d'erreur
Fonction interdisant l'option
Ici nous avons noppé les calls, mais cela n'était même pas obligatoire, mais par mesure de prudence, mieux vaut les nopper d'abord avant de modifier directement le saut au dessus, pour voir l'effet produit.
Greetz :
Merci à : Zara, qui m'a donné envie de m'intéresser a WinRAR, et qui m'a aussi rappelé la technique du Break point que j'avais oubliée, à l'excellent site www.deamoncrack.fr.st tenu par le tout aussi excellent Deamon, qui m'ont appris pas mal de trucs en cracking, et à tous les autres qui ont pu me faire part de techniques utiles ici.
Fin :
Voila, c'est la fin de ce tutorial, j'espère qu'il vous a plus et bien aidé. Et si vous n'avez pas réussi à cracker WinRAR, vous pouvez télécharger le crack sur www.hackatak.org/programmes/winrar.zip.Envoyez moi vos réactions à cette adresse :Nessus@Hackatak.org