by :
OCHE SATRIANI
Hai ... Welcome to my THIRD tutors,
Well this TUTS won't make you to become a GREAT CRACKER but maybe can add your basic knowledge in CRACKING , you don't need to know CALCULUS or related stuff to understand my explanation just some MARLBORO and SOFTICE very easy isn't it ? of course you need some BRAINS too BUDDY !
But if you're really really wanna be a GREAT GREAT CRACKER then remember what JAMES LABRIE has told you to do '
I was told there's a miracle for each day that I try' [taken from METROPOLIS part 1]There is two way (maybe more) to register this PrOGGIe first is by PATCHING it, second is to FIND the real SERIAL#, what we're gonna do is finding the REAL SN#, so Light Up your MARLBORO, sit down nicely and ENJOY it [OK].
NO MORE BULLSHIT, LET'S START CRACKING !
OK .... go to the REGISTRATION AREA and fill it like this :
'
Then Control D to set a BREAKPOINT in SOFT_ICE, type BPX GETDLGITEMTEXTA
Control D again to go back to WINZIP now you're allowed to click the OK button
....... then everybody know that we will land in SOFT_ICE and see something like this :
BREAK DUE TO BPX USER32!GETDLGITEMTEXTA
:00408036 FF150C844600 Call dword ptr [0046840C] ---> CALL USER32!GETDLGITEMTEXTA
:0040803C 56 push esi
:0040803D E857160200 call 00429699
:00408042 59 pop ecx
:00408043 56 push esi
:00408044 E879160200 call 004296C2
:00408049 803D28D9470000 cmp byte ptr [0047D928], 00
:00408050 59 pop ecx
:00408051 745F
First it save our CODE (PUSH ESI) , do some checking and then the COMPARISON, so if we entered NOTHING then you'll see something like the above PICTURE ! The
je 004080B2 is a BAD JUMP.:00407B4B 55 push ebp
:00407B4C 8BEC mov ebp, esp
:00407B4E 81EC08020000 sub esp, 00000208
:00407B54 53 push ebx ---> Save our NAME
:00407B55 56 push esi ---> Save our CODE
:00407B56 33F6 xor esi, esi
:00407B58 803D28D9470000 cmp byte ptr [0047D928], 00 -------> another checking
:00407B5F 57 push edi
:00407B60 0F84A1000000 je 00407C07
:00457900 55 some junks here
------------------------------------------------------------------
------------------------------------------------------------------
------------------------------------------------------------------
:00457906 8B750C mov esi, dword ptr [ebp+0C] ESI = our CODE
:00457909 8B7D08 mov edi, dword ptr [ebp+08] EDI = REAL SERIAL NUMBER
:0045790C 8D05A0154800 lea eax, dword ptr [004815A0]
:00457912 83780800 cmp dword ptr [eax+08], 00000000
:00457916 753B jne 00457953
:00457918 B0FF mov al, FF
:0045791A 8BC0 mov eax, eax
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00457928(C), :00457948(C)
|
:0045791C 0AC0 or al, al
:0045791E 742E je 0045794E
:00457920 8A06 mov al, byte ptr [esi] ---> al = our first CODE
:00457922 46 inc esi ---> prepare the next char to compare
:00457923 8A27 mov ah, byte ptr [edi] ---> ah = first char in the REAL SERIAL
:00457925 47 inc edi ---> prepare the next char to compare
:00457926 38C4 cmp ah, al ---> THE COMPARISON ...
:00457928 74F2 je 0045791C ---> If EQUAL then do some checking with the next char.
The OR AL, AL instruction is only checking to our CODE, if there is no more char to be compare then jump to desired place or if the COMPARING jobs is DONE then get out.
Did you understand this piece of SHIT....? , I Hope you did. BYE !
VOL. 3
SURABAJA, 21 Dec 1998
oche_satriani@start.com.au
oblek@start.com.au
Thanks to :