ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Archiver Shell 6.3 Cracking Tutorial º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Parfois, a peine vous vous levez de votre lit et vous vous dites deja, ke sa va etre une veritable journee de merde....il pleut...il fait froid...en plus j'ai pas fait mon boulo...et j'ai un DS de 4 H et ne j'ai rien revise du tout....bref....c'est la fete....generalement dans ces cas la...vo mieu restez coucher..au moins on est sure de pas faire trop de conneries...en parlant de connerie...on va en faire une belle en crackant un soft qui parait tout a fait anodin...."archiver shell 6.3"... Ce soft est une sorte de explorer ki connait tout les formats de comression..ZIP ..ZOO ..CAB ..ARJ ..RAR ..ACE ...c'est franchement sympa tout sa dans une meme logiciel...cependant...moi il m'a mis un bordel monstre dans tous mes icones....alors pour la peine ne ne vais pas me casser l'anus a payer 25 dollars... pas ke je sois radin..mais bon...bref... Dans l'excelent OUTBURST (eZINE de Grim_reaper), une version anterieur a notre "archiver shell" avait ete cracke... cependant..la version 6.3 ayant subi kelkes changements..je vais en faire une actualisation...a ma facon.... Outils: ~~~~~~~ Le soft : archiver shell 6.3 (www.tucows.trump.net.au/adnload/dlashell95.html) Un desassembleur: W32dasm (dispo sur le site) Un editeur hexadecimal: Ultra edit 32 (egalement dispo) Un converteur HEXA - DECI : calculette windows (logikement dispo chez vous) Analyse: ~~~~~~~~ Une fois ke l'on a fait l'install du soft..il nous demande de redemarrer... une fois redemarrer...on le lance pour voir ce ke sa donne... On obtient une fenetre a la con (nagscreen) ki nou dit ke on est UNREGISTERED (pas pour longtemps...) et Hop le soft se lance...on va dans HELP...REGISTERING...une fenetre avec deux champs apparait..."name" et "registration number"...on met un nom, moi je met "lunatic" et un numero bidon, la je met 10902144 (mon Numero ICQ), je clik sur OK et il me met: "It is not current registration number"....etonannt...;-) Bon on ferme le soft... Cracking: ~~~~~~~~~ lancons W32dasm..."open file to desassemble"...et on selectione "ArchiverShell.exe" (Je vous conseil de faire au prealable des sauvegardes de "ArchiverShell.exe"...au cas ou vous feriez des conneries...) le desassemblage est assez rapide.... Pour commencer on va dans les "STRING DATA REFERENCE" (celui tout en haut a droite a cote du bouton imprimante)....puis on cherche dans la liste "It is not current registration number" une fois trouve double cliquez dessus et hop on atteri la : * Possible StringData Ref from Data Obj ->"It is not current registration " ->"number." | :00415796 684C004D00 push 004D004C :0041579B FF3578B15600 push dword ptr [0056B178] on remonte et on obtient sa : * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:00415275(U) | :00415672 8D8568FFFFFF lea eax, dword ptr [ebp+FFFFFF68] :00415678 50 push eax :00415679 E86A3E0800 call 004994E8 :0041567E 59 pop ecx :0041567F 3B45A8 cmp eax, dword ptr [ebp-58] :00415682 0F87F2FBFFFF ja 0041527A :00415688 8D9534FFFFFF lea edx, dword ptr [ebp+FFFFFF34] :0041568E 52 push edx :0041568F E8C4EB0800 call 004A4258 :00415694 59 pop ecx :00415695 3B45A0 cmp eax, dword ptr [ebp-60] :00415698 0F85C9000000 jne 00415767 :0041569E 6A40 push 00000040 * Possible StringData Ref from Data Obj ->"Archiver Shell" | :004156A0 6812004D00 push 004D0012 * Possible StringData Ref from Data Obj ->"Thank You for registering ArchiverShell." | :004156A5 68E9FF4C00 push 004CFFE9 :004156AA FF3578B15600 push dword ptr [0056B178] * Reference To: USER32.MessageBoxA, Ord:0000h | :004156B0 E879080B00 Call 004C5F2E :004156B5 C705A8024D0001000000 mov dword ptr [004D02A8], 00000001 :004156BF 33C9 xor ecx, ecx :004156C1 890DDC764C00 mov dword ptr [004C76DC], ecx * Possible StringData Ref from Data Obj ->"r+" | :004156C7 682D004D00 push 004D002D :004156CC 66C745C82000 mov [ebp-38], 0020 :004156D2 8D45F0 lea eax, dword ptr [ebp-10] :004156D5 E822A6FFFF call 0040FCFC :004156DA 50 push eax :004156DB FF45D4 inc [ebp-2C] * Possible StringData Ref from Data Obj ->"\ASHELL.BIN" | :004156DE BA21004D00 mov edx, 004D0021 :004156E3 8D45F4 lea eax, dword ptr [ebp-0C] :004156E6 E8A19B0500 call 0046F28C :004156EB FF45D4 inc [ebp-2C] :004156EE 8D55F4 lea edx, dword ptr [ebp-0C] :004156F1 8B0DF0AA5600 mov ecx, dword ptr [0056AAF0] :004156F7 8B8118020000 mov eax, dword ptr [ecx+00000218] :004156FD 83C070 add eax, 00000070 :00415700 59 pop ecx :00415701 E83D9E0500 call 0046F543 :00415706 8D45F0 lea eax, dword ptr [ebp-10] :00415709 E836A6FFFF call 0040FD44 :0041570E 50 push eax :0041570F E83C960800 call 0049ED50 :00415714 83C408 add esp, 00000008 :00415717 89459C mov dword ptr [ebp-64], eax :0041571A FF4DD4 dec [ebp-2C] :0041571D 8D45F0 lea eax, dword ptr [ebp-10] :00415720 BA02000000 mov edx, 00000002 :00415725 E8C29D0500 call 0046F4EC :0041572A FF4DD4 dec [ebp-2C] :0041572D 8D45F4 lea eax, dword ptr [ebp-0C] :00415730 BA02000000 mov edx, 00000002 :00415735 E8B29D0500 call 0046F4EC :0041573A 6A00 push 00000000 :0041573C 68F05A0000 push 00005AF0 :00415741 FF759C push [ebp-64] :00415744 E8AB990800 call 0049F0F4 :00415749 83C40C add esp, 0000000C * Possible StringData Ref from Data Obj ->"#" | :0041574C 6830004D00 push 004D0030 :00415751 FF759C push [ebp-64] :00415754 E82B960800 call 0049ED84 :00415759 83C408 add esp, 00000008 :0041575C FF759C push [ebp-64] :0041575F E8888E0800 call 0049E5EC :00415764 59 pop ecx :00415765 EB3F jmp 004157A6 * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:00415698(C) | * Possible StringData Ref from Data Obj ->"Unregistered" | :00415767 683D004D00 push 004D003D :0041576C 8D8D68FFFFFF lea ecx, dword ptr [ebp+FFFFFF68] :00415772 51 push ecx :00415773 E8403D0800 call 004994B8 :00415778 83C408 add esp, 00000008 :0041577B 684A004D00 push 004D004A :00415780 8D8534FFFFFF lea eax, dword ptr [ebp+FFFFFF34] :00415786 50 push eax :00415787 E82C3D0800 call 004994B8 :0041578C 83C408 add esp, 00000008 :0041578F 6A10 push 00000010 * Possible StringData Ref from Data Obj ->"Archiver Shell" | :00415791 6873004D00 push 004D0073 * Possible StringData Ref from Data Obj ->"It is not current registration " ->"number." | :00415796 684C004D00 push 004D004C :0041579B FF3578B15600 push dword ptr [0056B178] On remarke donc k'il y a juste avant le UNREGISTERED un saut "conditionnel" : :00415698(C) c'est donc de la ke l'on vient...on va donc remonter jusqu'a la source et on retrouve sa : :00415698 0F85C9000000 jne 00415767 on va donc modifier sa et voir ce ke sa donne.....car on s'appercoit ke si i n'y avait pas ce saut...le soft nous considererai, logikement, comme REGISTER...essayons... On lance donc Ultra Edit 32 pour modifier ca...Sous ultra edit on ouvre donc "ArchiverShell.exe"...W32dasm nous donne dans la barre de status l'adress OFFSET ke l'on ve modifier, a savoir 00014C98h...dans ultra edit on va donc mettre l'adress....sa nous donne donc 0x00014C98h....on click sur OK et notre curseur arrive sur 0F85C9000000 ..on le modifie par "909090909090"..et on enregistre sous un nom different...moi je met "ArchiverShell2.exe"..... Maintenant on va double cliker sur "ArchiverShell2.exe"...et voir ce ke sa donne...on essai de s'enregistrer a nouvo..et la miracle...il me met "thank you for registering !"...Mais on s'appercoit que qd on click sur OK...il nous met une ERREUR "acces violation...."Je vous avez dit k'au debut on allez faire une belle connerie et ben la on viens de la faire !!!!!! on viens de se faire niker par une protect a la noix... On ferme donc le soft et on regarde ou on s'est plante...reprenons... on ete donc la : * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:00415275(U) | :00415672 8D8568FFFFFF lea eax, dword ptr [ebp+FFFFFF68] :00415678 50 push eax :00415679 E86A3E0800 call 004994E8 :0041567E 59 pop ecx :0041567F 3B45A8 cmp eax, dword ptr [ebp-58] :00415682 0F87F2FBFFFF ja 0041527A :00415688 8D9534FFFFFF lea edx, dword ptr [ebp+FFFFFF34] :0041568E 52 push edx :0041568F E8C4EB0800 call 004A4258 :00415694 59 pop ecx :00415695 3B45A0 cmp eax, dword ptr [ebp-60] :00415698 0F85C9000000 jne 00415767 :0041569E 6A40 push 00000040 * Possible StringData Ref from Data Obj ->"Archiver Shell" | :004156A0 6812004D00 push 004D0012 * Possible StringData Ref from Data Obj ->"Thank You for registering ArchiverShell." | :004156A5 68E9FF4C00 push 004CFFE9 :004156AA FF3578B15600 push dword ptr [0056B178] * Reference To: USER32.MessageBoxA, Ord:0000h | :004156B0 E879080B00 Call 004C5F2E :004156B5 C705A8024D0001000000 mov dword ptr [004D02A8], 00000001 :004156BF 33C9 xor ecx, ecx :004156C1 890DDC764C00 mov dword ptr [004C76DC], ecx * Possible StringData Ref from Data Obj ->"r+" | :004156C7 682D004D00 push 004D002D :004156CC 66C745C82000 mov [ebp-38], 0020 :004156D2 8D45F0 lea eax, dword ptr [ebp-10] :004156D5 E822A6FFFF call 0040FCFC :004156DA 50 push eax :004156DB FF45D4 inc [ebp-2C] * Possible StringData Ref from Data Obj ->"\ASHELL.BIN" | :004156DE BA21004D00 mov edx, 004D0021 :004156E3 8D45F4 lea eax, dword ptr [ebp-0C] :004156E6 E8A19B0500 call 0046F28C :004156EB FF45D4 inc [ebp-2C] :004156EE 8D55F4 lea edx, dword ptr [ebp-0C] :004156F1 8B0DF0AA5600 mov ecx, dword ptr [0056AAF0] :004156F7 8B8118020000 mov eax, dword ptr [ecx+00000218] :004156FD 83C070 add eax, 00000070 :00415700 59 pop ecx :00415701 E83D9E0500 call 0046F543 :00415706 8D45F0 lea eax, dword ptr [ebp-10] :00415709 E836A6FFFF call 0040FD44 :0041570E 50 push eax :0041570F E83C960800 call 0049ED50 :00415714 83C408 add esp, 00000008 :00415717 89459C mov dword ptr [ebp-64], eax :0041571A FF4DD4 dec [ebp-2C] :0041571D 8D45F0 lea eax, dword ptr [ebp-10] :00415720 BA02000000 mov edx, 00000002 :00415725 E8C29D0500 call 0046F4EC :0041572A FF4DD4 dec [ebp-2C] :0041572D 8D45F4 lea eax, dword ptr [ebp-0C] :00415730 BA02000000 mov edx, 00000002 :00415735 E8B29D0500 call 0046F4EC :0041573A 6A00 push 00000000 :0041573C 68F05A0000 push 00005AF0 :00415741 FF759C push [ebp-64] :00415744 E8AB990800 call 0049F0F4 :00415749 83C40C add esp, 0000000C * Possible StringData Ref from Data Obj ->"#" | :0041574C 6830004D00 push 004D0030 :00415751 FF759C push [ebp-64] :00415754 E82B960800 call 0049ED84 :00415759 83C408 add esp, 00000008 :0041575C FF759C push [ebp-64] :0041575F E8888E0800 call 0049E5EC :00415764 59 pop ecx :00415765 EB3F jmp 004157A6 Quand on regarde bien...on s'appercoit d'un truc bizare : "* Possible StringData Ref from Data Obj ->"\ASHELL.BIN"" en gros le logiciel...apres vous avoir registrer..verifie si il creer le fichier "ASHELL.BIN"...or nous comme on a mis un code BIDON...on a pas le ASHELL.BIN...va donc falloir mettre le bon code....allez on prend sa patience a deux mains.. et on y va... sous W32dasm...on reste sous "ArchiverShell.exe"....et on load le "debug process" (debug > load process)....des fenetres vont apparaitres (3 exactements)...un fois ke c'est fait...On va aller a la ligne 00415698 (celle ou on avait NOPER le jump et ki n'as servi a rien..)...et on pose un BREAK...pour cela il suffit d'etre sur la ligne et d'appuyer sur F2...un petit rectangle jaune doit apparaitre sur la gauche de la ligne...on fait F9..w32dasm..lance ArchiverShell..(une petite fenetre s'ouvre..suffit de cliker sur OK..)..on arrive sur archivershell...la on essai de se registrer...name : "lunatic" et registration code "10902144"..on fait OK et la w32dasm s'arrete kom prevu sur notre BREAK.... On s'appecoit qu'en ligne 00415698, le soft compare EAX avec EPB-60 (cmp eax, dword ptr [ebp-60])...on va donc compare nous aussi notre code bidon (ici le EAX) avec le bon (le ebp-60)....Mais avant sa, dans la fenetre module (en bas a gauche), on va verifier pour voir si on ne sai pas planter avec notre code Bidon...il suffit alors de verifier si le EAX est egale a notre code bidon c'est a dire "10902144"...on voi ke EAX=00A65A80 a premiere vu...sa ne ressemble pas a notre code....mais en fait SI...vous allez vite comprendre... On lance maintenant la calculatrice windows, on verifie que DECimal est selectionne..est on ecrit 10902144 et on selection HEXadecimal...et AU miracle on obtient 00A65A80 !...maintenant ke vous avez saisi le principe on va donc faire pareil pour decrypter le bon code...w32dasm nous dit ke c'est EBP-60....dans la fenetre module on va donc cliker sur la case EBP et on remonte jusque -60....on arrive a un sa : 02c3c4a3...ce ki est egale au code bon, mais en hexadecimal....on resort donc notre petite calculette..et hop...sa nous donne en decimal "46384291"...et la on a le vrai code qui correspond a "lunatic" et on est tout JoYcE !...mais ce n'est pas encore completement fini....car on peut remarker ke si on lance le soft..et ke l'on met le bon code, on est considere comme REGISTER...mais on se tape quand meme une erreur "acces violation..."car kom je vous l'avez dit precedement, le logiciel a besoin de creer le fichier ashell.bin pour certifier ke vous etes bien REGISTER...on va donc le modifier pour pas k'il nous prenne la tete avec son fichier de merde.... On retourne donc dans w32dasm...mais la on ferme le load process...(on enleve notre break en rappuyant sur F2)...puis on va dans le menu fonction > import...et la on recherche "KERNEL32.createFileA"...On double clik et on arrive la.. * Reference To: KERNEL32.CreateFileA, Ord:0000h | :00430CBF E84C4A0900 Call 004C5710 :00430CC4 8945F4 mov dword ptr [ebp-0C], eax :00430CC7 837DF4FF cmp dword ptr [ebp-0C], FFFFFFFF :00430CCB 7509 jne 00430CD6 :00430CCD C745F0FFFFFFFF mov [ebp-10], FFFFFFFF :00430CD4 EB49 jmp 00430D1F bref....on va donc au Call 004C5710 et on atteri la : * Reference To: KERNEL32.CreateFileA, Ord:0000h | :004C5710 FF2550A46000 Jmp dword ptr [0060A450] Il ne nous reste plus k'a NOPER l'adress....ce ki reviens a remplacer sa : :004C5710 FF2550A46000 Jmp dword ptr [0060A450] par sa : :004C5710 909090909090 Nop dword ptr [0060A450] On lance ultra edit 32...on ouvre "ArchiverShell.exe"...et on va a l'adress OFFSET ki correspond a 004C5710..c'est a dire 000C4D10h...y a plus k'a noper et a enregistrer sous "ArchiverShell3.exe" (au fait le ArchiverShell2.exe ne sert plus a rien..mais bon...) On lance donc archivershell3.exe...on s'enregistre name : lunatic et registration number : 46384291...et au MIRACLE...on est registrer..Y a meme notre nom dans le About...cool ! et la on danse tout nue tellement on est content d'avoir "acheter legalement" ce logiciel.... Resumons: ~~~~~~~~~ Cette nouvelle version de ArchiverShell 6.3, nous a qd meme donne du fil a retordre...j'avoue ke sur le cou ...le Ashell.bin m'avait feinte...je remercie d'ailleur MInoTHaur...bref...J'espere ke ce tutorial vous aura un peu donner gout au cracking...meme si ma technique est loin d'etre la meilleur elle a l'air de fonctionner... Si vous trouvez une technik plus rapide (sans utiliser sice)..tenez moi au courant.... Greetings: ~~~~~~~~~~ Bon ben comme toujours je ne sais pas par ki commencer...allez je me lance... DaRk JoKeR - Bassman - Joule - Sir - Bishop - Istrion - MInoTHaur - MrPhilex - Grim_reaper - TiPiAx - and All people who Support Our Work Contact: ~~~~~~~~ Contact Us on mIRC = Kewl.org: EU, FR, Nanterre #electronicsbrothers email = lunatic.asylum@mindless.com Lunatic - lunatic.asylum@mindless.com