![]() |
---|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Télécharger Win32Dasm8.9
La table des sauts assembleurs:
En général pour supprimmer les verifications de serial il faut changer un JE en JNE ou un 74 par un 75 en héxadécimal ainsi le programme s' enregistra seulement si le serial est faux. Présentation de W32Dasm Lorsque
l' on fait un programme dans n' importe quel langage, une fois
compilé en executable il est également traduit
dans un langage appelé l'assembleur. Avec un désassembleur,
on va afficher le code source du programme en assembleur, aprés
cette bréve introduction, commencons. On ouvre W32Dasm
(8.9 de préférence) et on fait open file to disassemble.
Alors on selectionne un quelconque programme executable. Voila
vous avez devant les yeux de l' assembleur. On descent un peu,
aïe ca se complique légérement: Bon au premier abord ca a l' air compliqué, mais c' est bon vous apprendrez avec le temps. Pour l' instant on à pas besoin de comprendre. On est là pour observer et apprendre le fonctionnement de W32Dasm. Bon on remarque que la barre bleue devient verte lorsqu' elle passe sur un je, jne, jmp ou autre... C' est juste pour executer des sauts. Bon voila on va voir la composition des lignes de W32Dasm. Passons à la suite, observons maintenant le bas de la fenêtre: Bon voila
pour les bases, voyons maintenant une des fonctions les plus
importantes: les string data réferences. On clique là:
et lorsque vous double-cliquez sur une des phrase vous arrivez à son emplacement dans le listing. Ce qui va donc nous interresser ce sont les phrases en rapport avec l' enregistrement. Voyons également une autre fonction, le debugger: on fait Ctrl + L et on clique sur load. on arrive à un fenêtre de ce style: pour aller à l' adresse qui nous interresse on fait Goto Adress, l' option Patch Code est assez utiles, vous entrer la modification que vous souhaitez effectuer (en assembleur, bien sur) et elle vous est traduit en hexadecimal lorsque vous faites apply patch, si il y a marqué write protected memory c' est pas la peine de continuer. Bon ca devrait suffir pour l' instant. Comment supprimmer les nagscreens? Les nagscreens
sont de sales écrans qui apparaissent environ toutes les
minutes pour vous rappeler qu' il faut vous enregistrer. Alors
on va voir comment les supprimer. Exemple, un nag avec le titre
de reminder vous fait chier. On ouvre W32Dasm et on va dans les
Strings data reference et on double clique sur reminder: Comment extraire les serials? Bon on va faire simple: Imaginons qu 'un programme nous balance "you have entered an invalid registration code" quand on entre un mauvais serial. On l' edite avec W32Dasm & on fait une recherche sur "you have entered" et on arrive ici: Referenced by a (U)nconditional or (C)onditional Jump at Address: :004161D5(C) :004161EC 6A10 push 00000010 * Possible StringData Ref from Data Obj ->"You have entered an" ->"invalid registration code" :004161EE 68DC554300 push 004355DC :004161F3 EB40 jmp 00416235 :004161B7 FF1508144600 Call dword ptr [00461408] :004161BD 8B16 mov edx, dword ptr [esi] :004161BF 8B4760 mov eax, dword ptr [edi+60] :004161C2 83C40C add esp, 0000000C :004161C5 B9B0024100 mov ecx, 004102B0 :004161CA 52 push edx :004161CB 50 push eax :004161CC E8EF96FFFF call 0040F8C0 :004161D1 84C0 test al, al :004161D3 6A00 push 00000000 :004161D5 7415 je 004161EC :004161D7 6A30 push 00000030 Interressons nous de trés prés au je 004161EC, on pourrait le patcher en jne est ce serait vite fait, mais on n' est pas la pour ca. Donc on va executer le saut du je en 004161EC avec l' option " Execute Jump" de W32Dasm. Donc on arrive ici: * Referenced
by a CALL at Addresses: cmp veut dir que le programme commpare votre serial avec 0001B59D ou 000FE203 (ce sont des valeurs hexa) donc il suffit de les convertir en décimal ce qui nous donne: 112029 pour 0001B59D & 1040899 pour 000FE203, les 2 sont bons. Cool. Ce n' était qu' un exemple & je ne sais pas si il peut s' appliquer dans la réalité. Voila vous avez donc extrait un joli petit serial. Votre premier crack. Bon alors
on ouvre riadaheadline et on enregistre avec n' importe quel
nom & n' importe quel serial. The registration information
was incorrect. Donc on note. On désassemble le programme
avec W32Dasm et on va dans les "Strings data reference"
et on double clicsur "The registration information you have
supplied was incorrect". On arrive ici. On remonte un peu et on voit un je, trés intéréssant! on va vite le changer en jne ainsi on pourra s' enregistrer avec ce qu' on veut comme nom et comme serial. Et bien faisons ca on va à l' offset indiqué par W32Dasm, et on change le 0F84 par 0F85 et voila. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|