Tải bản đầy đủ (.pdf) (6 trang)

Cracker Handbook 1.0 part 127 pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (77 KB, 6 trang )

Posted by: moonbaby

Jan 7 2004, 01:59 AM

QUOTE

Homepage :
CrackMe : bengaly-crkme.zip (Crackme1.exe)
Coder : bengaly (MASM32 / TASM32)
Type : Name / Serial
Packed : N / A
Crack Tool : OllyDbg 1.09d
Unpack Tool : N / A
Request : Correct Serial
Rule : N/A
Note : N/A



>>>>>>>> Đặt BreakPoint :


QUOTE

Trace tiếp ta đến đây
004011E4 |. E8 62000000 CALL
CRACKME1.0040124B ; \CRACKME1.0040124B
Trace thẳng vào trong ta đến đây :
0040124B /$ 55 PUSH EBP
Trace tiếp ta đến đoạn mã hoá chuỗi :
Chuẩn bị EDX để lưu kết quả tính toán


00401254 |. 33D2 XOR EDX,EDX
ESI lưu chuỗi U nhập vào
00401256 |. 8B75 08 MOV ESI,DWORD PTR SS:[EBP+8]
ECX chứ chiều dài chuỗi U nhập
00401259 |. 8B4D 0C MOV ECX,DWORD PTR SS:[EBP+C]
Bắt đầu quá trình tính chuỗi . ECX = ECX - 1
0040125C |. 49 DEC ECX
Đưa từng ký tự của chuỗi U nhập được lưu ở ESI vào EAX
0040125D |> 0FBE06 MOVSX EAX,BYTE PTR DS:[ESI]
EAX trừ cho giá trị được lưu ở địa chỉ 403000 ( mặc định là 02Ah ) <
=== Lưu kết quả ở EAX
00401260 |. 2B05 00304000 SUB EAX,DWORD PTR DS:[403000]

Đưa ký tự kế của chuỗi U nhập vào EBX
00401266 |. 0FBE5E 01 MOVSX EBX,BYTE PTR DS:[ESI+1]
EBX trừ đi giá trị đươc lưu ở địa chỉ 403004 ( mặc định là 041h ) <
=== Lưu kết quả ở EBX
0040126A |. 2B1D 04304000 SUB EBX,DWORD PTR
DS:[403004]
EAX = EAX * EBX
00401270 |. 0FAFC3 IMUL EAX,EBX
EDX = EDX + EAX ( đầu tiên EDX = 00h )
00401273 |. 03D0 ADD EDX,EAX
Con trỏ chuyển đến ký tự kế tiếp của chuỗi U nhập vào.
00401275 |. 46 INC ESI
Lập lại quá trình cho đến khi ECX = 00h
00401276 |.^ E2 E5 LOOPD SHORT CRACKME1.0040125D





>>>>>>>> Vậy :


QUOTE

1- Quá trình mã hoá chuỗi được viết gọn lại : C.0i – ký tự thứ i của
chuỗi U nhập i = 0
EDX = {(C.00 – 02Ah ) * ( C.01 – 041h )} + {(C.01 – 02Ah ) * (
C.02 – 041h )} +
2- Giá trị của chuỗi được chuyển sang dạng số thập phân
3- Và đây chính là số Serial thực tương ứng với chuỗi U nhập.




>>>>>>>> Vậy :



QUOTE

User : Moonbaby Serial : 16876
User : HVA-CrAcKeRtEaM Serial : 8804




Posted by: moonbaby


Jan 7 2004, 02:03 AM

QUOTE

Homepage :
CrackMe : orion_crackme2.zip (CrackMe2.exe)
Coder : Diablo (Borland C++)
Type : Name / Serial
Packed : N / A
Crack Tool : OllyDbg 1.09d
Unpack Tool : N / A
Request : Correct Serial
Rule : N/A
Note : N/A



>>>>>>>> Đặt BreakPoint :


QUOTE

00401710


|.


E8 43B40600




CALL CRACKME2.0046CB58


>>>>>>>> Qúa trình xử lý chuỗi :


QUOTE

>>>> Lấy giá trị được lưu ở địa chỉ SS:[EBP-54] nhân với 0B7h và
lưu kết quả ở ECX . Giá trị ở SS:[EBP-54] chính là chiều dài của
chuỗi U nhập.
0040171B |. 694D AC B7000>IMUL ECX,DWORD PTR SS:[EBP-
54],0B7
>>>> ECX = ECX + 07594h
00401722 |. 81C1 94750000 ADD ECX,7594
>>>> Trace tiếp ta đến :
00401756 |. E8 B9B30600 CALL CRACKME2.0046CB14
>>>> Trace thẳng vào trong ta đến :
0046CB14 /$ 55 PUSH EBP

>>>>>>>> Trace tiếp ta đến :
>>>> Giá trị của chỗi sau khi được tính toán
0046CB37 |. 53 PUSH EBX ; /Arg3 =
00007B4C
>>>> Chuyển sang dạng số thập phân. Số này chính là số Serial của
ta.
0046CB38 |. 68 632D4700 PUSH
CRACKME2.00472D63 ; |Arg2 = 00472D63 ASCII "%i"




>>>>>>>> Vậy :


QUOTE

1- Quá trình mã hoá chuỗi rất đơn giản :
( Chiều dài chuỗi * 0B7h ) + 07594h
2- Giá trị này ở dạng thập phân chính là số Serial thực.
3- Cái khó của chương trình này là tìm ra đoạn mã này nằm ở đâu và
đặt đúng BreakPoint.



>>>>>>>> Vậy :


QUOTE

User : Moonbaby Serial : 31564
User : HVA-CrAcKeRtEaM Serial : 32845




Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×