home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Reverse Code Engineering RCE CD +sandman 2000
/
ReverseCodeEngineeringRceCdsandman2000.iso
/
RCE
/
E_bliss
/
crystaltut.txt
< prev
next >
Wrap
Text File
|
2000-05-25
|
6KB
|
137 lines
Tutorial for Crystal Crackme ver Beta (crystal/cabeca
by Sanhedrin
Tools
Wdasm
Softice
This crackme requires two serial numbers in order for it to be registered. Enter you
name and serials:
Sanhedrin
12344321
55555555
go into softice and enter the breakpoint:
bpx hmemcpy
exit softice and click on try. Disable the breakpoint and press F12 a few times until
you end up:
:0042D3FE 837DFC00 cmp dword ptr [ebp-04], 00000000<---you will land here
:0042D402 7428 je 0042D42C<---begin checks to see if fields are empty
:0042D404 8D55F8 lea edx, dword ptr [ebp-08]
:0042D407 8B83E4010000 mov eax, dword ptr [ebx+000001E4]
:0042D40D E8CEC9FEFF call 00419DE0
:0042D412 837DF800 cmp dword ptr [ebp-08], 00000000
:0042D416 7414 je 0042D42C
:0042D418 8D55F4 lea edx, dword ptr [ebp-0C]
:0042D41B 8B83EC010000 mov eax, dword ptr [ebx+000001EC]
:0042D421 E8BAC9FEFF call 00419DE0
:0042D426 837DF400 cmp dword ptr [ebp-0C], 00000000
:0042D42A 7544 jne 0042D470
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0042D3E5(C), :0042D3EE(C), :0042D402(C), :0042D416(C)
|
* Possible StringData Ref from Code Obj ->"Fill all boxes first dumb!"
|
:0042D42C B8C4D54200 mov eax, 0042D5C4
:0042D431 E856F6FFFF call 0042CA8C
:0042D436 33C0 xor eax, eax
:0042D438 A314F74200 mov dword ptr [0042F714], eax
:0042D43D 33C0 xor eax, eax
:0042D43F A318F74200 mov dword ptr [0042F718], eax
:0042D444 33D2 xor edx, edx
:0042D446 8B83E0010000 mov eax, dword ptr [ebx+000001E0]
:0042D44C E8BFC9FEFF call 00419E10
:0042D451 33D2 xor edx, edx
:0042D453 8B83E4010000 mov eax, dword ptr [ebx+000001E4]
:0042D459 E8B2C9FEFF call 00419E10
:0042D45E 33D2 xor edx, edx
:0042D460 8B83EC010000 mov eax, dword ptr [ebx+000001EC]
:0042D466 E8A5C9FEFF call 00419E10
:0042D46B E91A010000 jmp 0042D58A
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0042D42A(C)
|
:0042D470 833D14F7420000 cmp dword ptr [0042F714], 00000000
:0042D477 746C je 0042D4E5
:0042D479 833D18F7420000 cmp dword ptr [0042F718], 00000000
:0042D480 7463 je 0042D4E5
:0042D482 8D55F0 lea edx, dword ptr [ebp-10]
:0042D485 A114F74200 mov eax, dword ptr [0042F714]
:0042D48A E8C190FDFF call 00406550
:0042D48F 8B45F0 mov eax, dword ptr [ebp-10]
:0042D492 50 push eax
:0042D493 8D55FC lea edx, dword ptr [ebp-04]
:0042D496 8B83E4010000 mov eax, dword ptr [ebx+000001E4]
:0042D49C E83FC9FEFF call 00419DE0
:0042D4A1 8B55FC mov edx, dword ptr [ebp-04]
:0042D4A4 58 pop eax
:0042D4A5 E82664FDFF call 004038D0<---call to check first serial number
:0042D4AA 7539 jne 0042D4E5<---jump if not the same
:0042D4AC 8D55F0 lea edx, dword ptr [ebp-10]
:0042D4AF A118F74200 mov eax, dword ptr [0042F718]
:0042D4B4 E89790FDFF call 00406550
:0042D4B9 8B45F0 mov eax, dword ptr [ebp-10]
:0042D4BC 50 push eax
:0042D4BD 8D55FC lea edx, dword ptr [ebp-04]
:0042D4C0 8B83EC010000 mov eax, dword ptr [ebx+000001EC]
:0042D4C6 E815C9FEFF call 00419DE0
:0042D4CB 8B55FC mov edx, dword ptr [ebp-04]
:0042D4CE 58 pop eax
:0042D4CF E8FC63FDFF call 004038D0<---call to check second serial number
:0042D4D4 750F jne 0042D4E5<---jump if not the same
* Possible StringData Ref from Code Obj ->"Hmmm.... Cracked... Congratulations "
->"idiot! :-)"
|
:0042D4D6 B8E8D54200 mov eax, 0042D5E8
:0042D4DB E8ACF5FFFF call 0042CA8C
:0042D4E0 E9A5000000 jmp 0042D58A
So we have to calls to the same routine checking our serial numbers. Cancel the breakpoint
and enter a breakpoint:
bpx 0042D4A5
At 0042D4A5 press F8
:004038D0 53 push ebx<---you will land here
:004038D1 56 push esi
:004038D2 57 push edi
:004038D3 89C6 mov esi, eax
:004038D5 89D7 mov edi, edx
:004038D7 39D0 cmp eax, edx<---check our serial number
at 004038D7 type
D EDX <---the number we entered (12344321)
D ECX <---the real number (7690377)
Exit softice and enter your name, the first real serial, and any number for the second serial.
Return to softice, enable the breakpoint, exit then click again on Try. You should now have broken
into softice at the call routine for the first serial number. Press F10 until 0042D4CF. Press
F8 to see the call routine again, and at 004038D7 check ECX for the real serial number (8736083).
Greets to tC
Thanks to all of those coders that make these crackmes, to Pepper for sending me on the
right path so long ago and of course to Eternal Bliss.
Sanhedrin
stachi@geocities.com