Nom : Winrar Version : 2.60 Final Disponibilité : http://rarsoft.com Protections : Nag/trial/fonctions désactivées Tools : Softice 4.0 Windasm 8.93 hview 6.xx Hello ! , Ceci est mon premier tutorial de crack et mon premier rajout de code dans un EXE. Winrar étant opérationnel durant 40 jours la première chose à faire est de changer la date (en 2000 comme ca vous verrez si votre Pc passe-le millénaire :-) ) une fois que vous avez fait ceci relancer winrar et la o miracle une jolie boite de dialogue vous invitant à vous register (c comique) passer cette boite et créer une nouvelle archive avec l'option 'Use multimédia...' une jolie boite de Dlg vous indique que cette option n'est accessible que sur la version register Allons faire 1 tour sous softice en placent 1 bpx (breakpoint) sur MessageBoxA. bingo cela donne un truc comme cela :0040D586 803D800C460000 cmp byte ptr [00460C80], 00 :0040D58D 752E jne 0040D5BD <- très très cool :0040D58F 833D748F46003C cmp dword ptr [00468F74], 0000003C :0040D596 7E25 jle 0040D5BD :0040D598 6A30 push 00000030 * Possible Ref to Menu: MAIN_MENU, Item: '' * Possible Reference to Dialog: ABOUTRARDLG, CONTROL_ID:0065,'' * Possible Reference to String Resource ID=00101: 'Warning' :0040D59A 6A65 push 00000065 :0040D59C E887AAFFFF call 00408028 :0040D5A1 50 push eax * Possible Ref to Menu: MAIN_MENU, Item:'Deselect group Gray -' * Possible Reference to Dialog: CMDWNDADD, CONTROL_ID:006A, '' * Possible Reference to String Resource ID=00106:'Available in registered version ' :0040D5A2 6A6A push 0000006A :0040D5A4 E87FAAFFFF call 00408028 :0040D5A9 50 push eax :0040D5AA 53 push ebx * Reference To: USER32.MessageBoxA, Ord:0000h :0040D5AB E8CFF40400 Call 0045CA7F :0040D5B0 6A00 push 00000000 :0040D5B2 0FB75510 movzx edx, word ptr [ebp+10] :0040D5B6 52 push edx :0040D5B7 53 push ebx * Reference To: USER32.CheckDlgButton, Ord:0000h :0040D5B8 E878F30400 Call 0045C935 * Referenced by a (U)nconditional or (C)onditional Jump at Addresses: |:0040D58D(C), :0040D596(C) :0040D5BD B801000000 mov eax, 00000001 On remarque qu'en remontant 1 peut on tombe sur un saut conditionnel (ligne :0040D58D) tres cool,en effet si l'on inverse le saut on n'a plus le messagebox.ici on a deux choix soit la méthode bourrine qui consiste à recherche les lignes cmp byte ptr [00460C80], 00 et remplacer 00 par 01 (il y en a 1 paquet)ou réfléchir 5 minutes. la ligne fait une comparaison a 0 avec une adresse mémoire,il doit donc y écrire 1 moment . On passe donc sous windasm et on fait une recherche sur la chaîne '460c80'. on tombe sur mov byte ptr [00460C80],00 sur la ligne:0040CB4F .je met 00 a 01 il se passe na da on continue la recherche et on tombe sur: :00414A44 6A01 push 00000001 :00414A46 E8B52D0200 call 00437800 <- hé hé :00414A4B A2800C4600 mov byte ptr [00460C80], al :00414A50 6A00 push 00000000 :00414A52 8B0DD8564600 mov ecx, dword ptr [004656D8] :00414A58 51 push ecx cette fois si il écrit la valeur de al a l'adresse mémoire '00460C80' après être passer dans 1 Call,allons faire un tour dans le call on vient de trouver la fonction de protection si en fin de fonction al->0 pas register si al->1 register il faut donc forcer al à 1 en sorti du call.on met un bpx au début du call '0437800' sous softice et on suit pas à pas jusqu'a trouvé ret 0004(ligne '00537c9f')coup de bol on a 2 nop après le ret 0004 on va pouvoir mettre un bout de code sous Hiew on se positionne à l'offset '3729f'(obtenu sous windasm), on passe en mode édit 'F3' et 'F2' on peut taper notre code 'mov al,01' a la place des 2 nop on replace le ret 'c2040' (vérifier que le code qui suit n'a pas été modifié). sauvegarder les modifs 'F9' quitter et relancer winrar.exe -> bingo vous est register Greet to TaMaMBoLo, a very good teatcher CD-TeAm