Nom :Explorer 98 Version : 1.11d Disponibilité : http://www.cmaufroy.com Protection : compressé avec shrinker/Nag/Time limit... Objectifs : enlever shrinker et trouver son serial Outils : Windasm 8.93 / Softice 3.24 / Deshrink 1.4 (héhéhé!) Cible : Explorer98.exe (370 Ko) Explorer 98 est un programme dans le même style que les merdes telles que Windows Commander et autres Twin explorer) de daubes ... Oui je répugne ce genre de soft car généralement ils foutent plus la merde qu'autre chose ...) .Enfin bon, passons ... Le programmeur du soft ( un Français SVP !) a trouvé malin de compresser son prog avec un petit utilitaire de cryptage/compression appelé Shrinker ...Il n'existe pas que shrinker : on trouve aussi dans exactement le même style de prog,pETITE (très à la mode en ce moment !) et autre Manolo,PEShield,PEpack,Aspack... Mais c'était sans compter sur quelques crackers qui ont sortit l'anti-shrinker,l'anti-pETITE , l'anti....Pour shrinker je vous conseille d'utiliser Deshrink 1.4 (Disponible bien entendu sur le site de HarvestR)et pour pETITE ,ProcDump de G-rom (V1.4) ... Donc on 'deshrink' Explorer 98 avec Deshrink 1.4 .Je ne m'étends pas sur le fonctionnement du deshrinker : il est intuitif. On se retrouve avec un .exe de 964 Ko au lieu des 370 Ko originaux ... On peut s'attaquer au crack ... On aurait put trouver notre serial sans decrypter Explorer 98 puisque Softice 'travaille' une fois le .exe exécuter justement .C'était juste pour vous montrer qu'il est facile de passer les protections des programmes compressés avec Shrinker ou pETITE . C'est aussi plus facile de cracker un soft que l'on peut desassembler avec windasm car le desassemblage de windasm est plus parlant que celui de softice . Donc quand on lance le soft, il y a une boîte qui nous permet d'entrer notre nom et un serial pour débloquer le soft . On entre donc un serial bidon et notre nom , et un beau nagscreen marqué 'L'enregistrement de La licence d'utilisation a échoué'. On prend windasm et on désassemble le code et on cherche une 'sting data reference' ressemblant à notre nag.On la trouve et en cliquant dessus, Windasm nous indique qu'elle est référencée plusieurs fois dans le code .On va à la première référence : en 457760 .Vous devriez avoir ceci : :00457753 BA20794500 mov edx, 00457920 :00457758 8B45F4 mov eax, dword ptr [ebp-0C] :0045775B E838FDFFFF call 00457498 :00457760 837DF400 cmp dword ptr [ebp-0C], 00000000--- Test si il y a quelque chose dans le nom :00457764 0F844D010000 je 004578B7------------------------ non , on saute vers le nag 'la licence d'utilisation.... :0045776A 8B45F4 mov eax, dword ptr [ebp-0C] * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:004576F9(C) :0045776D E8CEC4FAFF call 00403C40 :00457772 83F802 cmp eax, 00000002----------- on teste si le nom > 2 caractères :00457775 0F8E3C010000 jle 004578B7---------------- non , on saute vers le nag 'la licence d'utilisation....' :0045777B 8D55E8 lea edx, dword ptr [ebp-18]----- encodage du serial :0045777E 8B45FC mov eax, dword ptr [ebp-04] :00457781 8B80E8010000 mov eax, dword ptr [eax+000001E8] :00457787 E8AC40FDFF call 0042B838------------------- ça c'est la routine qui génère le serial en fonction du nom :0045778C 8B55E8 mov edx, dword ptr [ebp-18]----- le serial bidon en edx) :0045778F 8B45F8 mov eax, dword ptr [ebp-08]----- le bon serial en eax) :00457792 E8B9C5FAFF call 00403D50------------------- Test si le serial tapé est égal au serial correspondant au nom :00457797 0F851A010000 jne 004578B7-------------------- non , on saute vers le nag 'L'enregistrement ...' :0045779D 8D55E4 lea edx, dword ptr [ebp-1C]----- sinon on ecrit le serial :004577A0 A180FE4700 mov eax, dword ptr [0047FE80] dans le :004577A5 8B00 mov eax, dword ptr [eax] .ini :004577A7 E868ECFCFF call 00426414 :004577AC 8B45E4 mov eax, dword ptr [ebp-1C] :004577AF 8D4DEC lea ecx, dword ptr [ebp-14] * Possible StringData Ref from Code Obj ->'.INI' :004577B2 BA38794500 mov edx, 00457938 :004577B7 E88800FBFF call 00407844 Voilà, à cet endroit du code on a tout l'encodage du serial correspondant au nom qu'on a tapé ...Le premier saut conditionnel en 457760 nous envoie vers le nag si on a rien tapé dans le nom . L'encodage du serial commence en 45777B . Le bon serial se trouve en 45778F . Prenez symbol loader (livré avec softice), chargez Explorer 98 . Sous softice tapez BPX 457792 (en 457792 pour que l'instruction mov eax,dword ptr [ebp-08] soit exécutée, elle fout le contenu de EBP-08 dans le registre EAX) et relancez en appuyant sur F5 . Tapez un serial et votre nom et validez. Softice a du se mette en route et se bloquer en 457792 . Maintenant vous tapez ,toujours sous softice,D EAX...Voilà vous avez votre serial... Comme quoi même un prog protégé avec une merde comme shrinker est easy à cracker ... Pour ce crack : Nom :TaMaMBoLo Serial :2097121792 TaMaMBoLo