Acid_Cool_178
presents he's
#28 Tutorial |
For Hellforge |
This Text Are Only Ment To Edcucational Purpose And Not To Be Used Illegaly, I Take No Response For Illegal Use Of This Text. Move On On Your Risc.
Athour Information |
acid_cool_178@hotmail.com | ||
Age | 17 | |
Web Page | http://acidcool.cjb.net/ | |
Date | March 2K | |
Member in | Hellforge | Flying Horse Cracking Force |
Groups Web Page | Hellforge Login | FHCF Login |
Program Infromation |
Name | n0p3x's Crackme 1 | crackme.exe | ||||
n0p3x's Crackme 1.A | crackme1a.exe | |||||
Athour | n0p3x | |||||
Where to Downlaod | http://cod3r.cjb.net | |||||
Tools used | W32Dasm | Downlaod At | ||||
1. Player Tools | ||||||
2. Programmer Tools | ||||||
What kind of a program | Crackme | Shareware | ||||
Skill | Easy | Not so easy | Hard | X-pert | ||
Information about the Protection I |
These crackmes got only one code to find. Bad Crypto.. Good for us :)
Before We Start |
Task1 <-- Crackme 1
Task2 <-- Crackme 1.A
The Process |
Task1
Open Crackme.exe in W32Dasm and in "string data references" can you see
this "Congrats" and dubbleclick on that sting. Scroll up some lines and you can
see this cmp eax, F3EA9.
And bingo, there are the code in hex format. If i convert F3EA9 to Decimal to will it be
999081. And the crackme are registered :)
Task 2
Open crackme1a.exe in W32Dasm and you in "String Data References" can you find
this string "Well Done", dubbleclick on that string and you will end up here.
* Possible StringData Ref from Data Obj ->"Well Done"
<-- The title of the good messagebox
|
:004010B7 68AB204000 push 004020AB
<-- You land here
* Possible StringData Ref from Data Obj ->"Congratulations. You successfully
" <-- The Lavel of the good messagebox
->"cracked this program"
|
:004010BC 6874204000 push 00402074
:004010C1 6A00 push 00000000
* Reference To: USER32.MessageBoxA, Ord:0000h
|
:004010C3 E872040000 Call 0040153A
<-- The cool messagebox call
:004010C8 EB16 jmp 004010E0
Well, and now as wh have seen that so try to scroll up and you can now see this.
:00401085 E880040000 Call 0040150A
:0040108A 59 pop ecx
:0040108B 8BD0 mov edx, eax
:0040108D B9E7030000 mov ecx, 000003E7
:00401092 81C2495F0E00 add edx, 000E5F49
:00401098 81C1A93E0F00 add ecx, 000F3EA9
:0040109E 90 nop
:0040109F 90 nop
:004010A0 40 inc eax
:004010A1 47 inc edi
:004010A2 43 inc ebx
:004010A3 48 dec eax
:004010A4 4F dec edi
:004010A5 4B dec ebx
:004010A6 90 nop
:004010A7 90 nop
:004010A8 83C258 add edx, 00000058
:004010AB 83C1A9 add ecx, FFFFFFA9
:004010AE 3BD1 cmp edx, ecx
<-- Compare routine
:004010B0 7518 jne 004010CA
<-- Jump to the bas routing if wrong. NOP the jump if you want
to patch it.
:004010B2 6800100000 push 00001000
Well, at 00401AE are the good code compared with the serial that you entered. And that's
all what we need to no.
- Start he crackme
- Write a dumme code i entered 2951
- Open Soft Ice by pressing CTRL+D
- Type BPX GetDglItemTextA [ENTER]
- Exit Soft Ice by pressing CTRL+D
- Press on the "OK" button
- And you will land here.
* Reference To: USER32.GetDlgItemTextA, Ord:0000h
|
:0040115D E8E4030000 Call 00401546
:00401162 8D4DF4 lea ecx, dword ptr [ebp-0C] <--
Here are you
:00401165 51 push ecx
:00401166 E811FFFFFF call 0040107C
<-- Call the code
:0040116B 59 pop ecx
Ttrace down to tche call by pressing F10 and to trace into the call
then just press F8 when you are ON the call.
And now you will land here
* Referenced by a CALL at Address:
|:00401166
|
:0040107C 55 push ebp
<-- You are here after tracing
the call
:0040107D 8BEC mov ebp, esp
:0040107F 53 push ebx
:00401080 57 push edi
:00401081 8B5D08 mov ebx, dword ptr [ebp+08]
:00401084 53 push ebx
* Reference To: cw3220._atol, Ord:0000h
|
:00401085 E880040000 Call 0040150A
:0040108A 59 pop ecx
:0040108B 8BD0 mov edx, eax
:0040108D B9E7030000 mov ecx, 000003E7
<--
3E7 HEX are 999 in DEC
:00401092 81C2495F0E00 add edx, 000E5F49
<-- E5F49 HEX are
941897 in DEC
EDX = Our code
EDX = 2951 + 941897 = 944848
:00401098 81C1A93E0F00 add ecx, 000F3EA9
<-- F3EA9 HEX are 999081
in DEC
ECX = Real Code
ECX = 999081 + 999 = 100080
:0040109E 90 nop
:0040109F 90 nop
:004010A0 40 inc eax
:004010A1 47 inc edi
:004010A2 43 inc ebx
:004010A3 48 dec eax
:004010A4 4F dec edi
:004010A5 4B dec ebx
:004010A6 90 nop
:004010A7 90 nop
:004010A8 83C258 add edx, 00000058
<-- 59
HEX are 88 in DEC
EDX = Our code
Here are EDX = 944848 + 88 = 944936
:004010AB 83C1A9 add ecx, FFFFFFA9
ECX = Real Code
Here are ECX = 1000080 - 87 = 999993
:004010AE 3BD1 cmp edx, ecx
<-- Compare routine
The code are ECX = 999993 - 58 - 941927 = 58008 DEC
Greetings |
LaZaRuS, Wajid, Borna Janes, ManKind, Eddie Van Camper, ACiD BuRN, KoRnFLeX, Eternal_Bliss, Potsmoke, DiABLO. Torn@do, ^AlX^ and all the other i have forgotten