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

Cracker Handbook 1.0 part 285 ppsx

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 (85.11 KB, 6 trang )

004151CC |. 40 ||INC EAX
004151CD |. 83F8 04 ||CMP EAX,4
004151D0 |.^ 7C F1 |\JL SHORT dialogbl.004151C3
004151D2 |. A1 F4FC6D00 |MOV EAX,DWORD PTR DS:[6DFCF4] ; <==
0x67BB54
004151D7 |. 83FF 02 |CMP EDI,2
004151DA |. 7D 32 |JGE SHORT dialogbl.0041520E
004151DC |. 8945 10 |MOV [ARG.3],EAX
004151DF |. 51 |PUSH ECX
004151E0 |. 8D45 10 |LEA EAX,[ARG.3]
004151E3 |. 68 08BE6C00 |PUSH dialogbl.006CBE08 ; ASCII
"%08lX-"
004151E8 |. 50 |PUSH EAX
004151E9 |. C645 FC 03 |MOV BYTE PTR SS:[EBP-4],3
004151ED |. E8 9E9C0B00 |CALL dialogbl.004CEE90
004151F2 |. 8B45 10 |MOV EAX,[ARG.3]
004151F5 |. 83C4 0C |ADD ESP,0C
004151F8 |. 8B48 F8 |MOV ECX,DWORD PTR DS:[EAX-8]
004151FB |. 50 |PUSH EAX ; /Arg2
004151FC |. 51 |PUSH ECX ; |Arg1
004151FD |. 8D4D 0C |LEA ECX,[ARG.2] ; |
00415200 |. E8 0B8E0B00 |CALL dialogbl.004CE010 ;
\dialogbl.004CE010
00415205 |. C645 FC 02 |MOV BYTE PTR SS:[EBP-4],2
00415209 |. 8D4D 10 |LEA ECX,[ARG.3]
0041520C |. EB 30 |JMP SHORT dialogbl.0041523E
0041520E |> 8945 10 |MOV [ARG.3],EAX
00415211 |. 51 |PUSH ECX
00415212 |. 8D45 10 |LEA EAX,[ARG.3]
00415215 |. 68 00BE6C00 |PUSH dialogbl.006CBE00 ; ASCII
"%08lX"


0041521A |. 50 |PUSH EAX
0041521B |. C645 FC 04 |MOV BYTE PTR SS:[EBP-4],4
0041521F |. E8 6C9C0B00 |CALL dialogbl.004CEE90
00415224 |. 8B45 10 |MOV EAX,[ARG.3]
00415227 |. 83C4 0C |ADD ESP,0C
0041522A |. 8B48 F8 |MOV ECX,DWORD PTR DS:[EAX-8]
0041522D |. 50 |PUSH EAX ; /Arg2
0041522E |. 51 |PUSH ECX ; |Arg1
0041522F |. 8D4D 0C |LEA ECX,[ARG.2] ; |
00415232 |. E8 D98D0B00 |CALL dialogbl.004CE010 ;
\dialogbl.004CE010
00415237 |. C645 FC 02 |MOV BYTE PTR SS:[EBP-4],2
0041523B |. 8D4D 10 |LEA ECX,[ARG.3]
0041523E |> E8 08BEFEFF |CALL dialogbl.0040104B
00415243 |. 47 |INC EDI
00415244 |. 83C6 04 |ADD ESI,4
00415247 |. 83FF 03 |CMP EDI,3
0041524A |.^ 0F8C 6FFFFFFF \JL dialogbl.004151BF
=== TraceInto III ===
004152CC |. 8365 FC 00 AND [LOCAL.1],0
004152D0 |. 8D45 0C LEA EAX,[ARG.2]
004152D3 |. 50 PUSH EAX
004152D4 |. 8BCE MOV ECX,ESI
004152D6 |. E8 559E0B00 CALL dialogbl.004CF130 ; <== Fake
Serial
004152DB |. 8BF0 MOV ESI,EAX
004152DD |. 8D45 08 LEA EAX,[ARG.1]
004152E0 |. 8D4D 10 LEA ECX,[ARG.3]
004152E3 |. 50 PUSH EAX
004152E4 |. C645 FC 01 MOV BYTE PTR SS:[EBP-4],1

004152E8 |. E8 439E0B00 CALL dialogbl.004CF130 ; <== Real
Serial
004152ED |. 56 PUSH ESI
004152EE |. 50 PUSH EAX
004152EF |. C645 FC 02 MOV BYTE PTR SS:[EBP-4],2
004152F3 |. E8 D782FFFF CALL dialogbl.0040D5CF ; <==
Compare
=== TraceInto II ===
=== TraceInto I ===

- Tương tự như thế, quá trình tạo chuỗi Serial thực thứ hai được dưa trên một chuỗi
mặc định khác : “Anthemion Software DialogBlocks and HelpBlocks" :
00413E93 . E8 C8140000 CALL dialogbl.00415360 ; <== Real
Serial II

- Như vậy quá trình mã hoá của SoftWare này chỉ là quá trình tạo chuỗi MD5Hash
dựa trên sự kết hợp giữa U nhập và một chuỗi mặc định . Với hai chuỗi mặc định
của chương trình, ta có hai chuỗi Serial thực tương ứng .

/*/*/*/ - SERIAL tương ứng :

User : REA-cRaCkErTeAm Serial : 889B3D8D-C5F77D80-
05A17F78

Serial : N/A

III – KeyGen :

/Section 1/- Thực hiện CharLower(User), và kết hợp với một trong hai
chuỗi mặc định .

/Section 2/- Tính MD5hash .
/Section 2/- Kết hợp 3 đoạn đầu tiên của chuỗi này theo định dạng “%08X-
%08X-%08X”

IV – End of Tut :

- Finished – August 09, 2004
- Thank to my family, Computer_Angel, Zombie_Deathman, Littleboy all
REA‘s members, HacNho, RongChauA, Deux, Infinity, all my friend, and
YOU.

REVERSE ENGINEERING ASSOCIATION

Reverse Engineering Association
SoftWare

Homepage :
Production : Hagel Technologies.
SoftWare : DU Meter 3.07 Build 192
Copyright by : Copyright © 1997-2004 Hagel Technologies. All
Rights Reserved.
Type : Name / Serial
Packed : N/A
Language : Borland Delphi 6.0 - 7.0
Crack Tool : OllyDbg 1.09d, PEiD 0.92, kWdsm 10
Unpack : N/A
Request : Correct Serial / KeyGen


DU Meter 3.07 Build 192


DU Meter is an award winning utility from Hagel Technologies that
provides an accurate account of the data which is flowing through your computer's
network connection at any given moment. This readout is presented in both
numerical and graphical format, in real time. DU Meter includes extensive logging
facility, flexible events system, and more. It supports Windows 95/98/NT4/2000
and XP! DU Meter works with virtually all types of network connections: phone
modems, DSL, cable modem, LAN, satellite, and more.

I – Information :

- Dùng PEiD kiểm tra biết chương trình không bị PACK và biết chương trình được
viết bằng Borland Delphi 6.0 - 7.0

- Chạy thử chương trình với User và Fake Serial ta nhận được "NAG" . Tuy nhiên,
ta không thể tìm thấy chuỗi này trong quá trình tìm kiếm . Nhưng ta nhận thấy
chương trình có khoảng thời gian dừng trước khi xuất hiện NAG . Ta truy đến hàm
kernel32.Sleep . Ta tìm được hàm này tại địa chỉ :
004937D3 |. E8 0CBBF7FF |CALL <JMP.&kernel32.Sleep> ;
\Sleep

- Dò ngược lên trên và đặt BreakPoint tại lệnh CALL đầu tiên của FUNCTION này
:
004937C7 |. E8 F44FFEFF CALL DUMeter.004787C0 ; <== Set
BreakPoint here

II – Cracking :

- Load chương trình lên, chạy chương trình với User và Fake Serial, chương trình
dừng lại tại điểm đặt BP . Trace xuống chút :

00493848 |. E8 1764FCFF CALL DUMeter.00459C64 ; <==
LenS
0049384D |. 837D E4 00 CMP [LOCAL.7],0
; <== Must be input
00493851 |. 74 14 JE SHORT DUMeter.00493867
00493853 |. 8D55 E0 LEA EDX,[LOCAL.8]
00493856 |. 8B83 74030000 MOV EAX,DWORD PTR DS:[EBX+374]
0049385C |. E8 0364FCFF CALL DUMeter.00459C64 ; <==
LenU
00493861 |. 837D E0 00 CMP [LOCAL.8],0 ; <==
Must be input
00493865 |. 75 33 JNZ SHORT DUMeter.0049389A

- Trace tiếp ta đến :
0049399D |. E8 9AD1FFFF CALL DUMeter.00490B3C ; <==
Trace Into
=== Trace Into ===
00490B78 |. FF16 CALL DWORD PTR DS:[ESI] ; <== Trace
Into
=== Trace Into ===
0049DD11 . 8BF0 MOV ESI,EAX ; <==
U
0049DD13 . 8BD6 MOV EDX,ESI ; <==
U
0049DD15 . B8 D0DD4900 MOV EAX,DUMeter.0049DDD0 ;
ASCII "D3"
0049DD1A . 59 POP ECX ; <==
Fake Serial
0049DD1B . E8 16FEFEFF CALL DUMeter.0048DB36 ; <==
Encrypt & Compare

=== Trace Into ===
=== Trace Into ===

- Tiếp tục Trace Into ta đến quá trình mã hoá chính :
0048DB6A |. E8 2DFDFFFF CALL DUMeter.0048D89C ; <==
LenS
0048DB6F |. 83F8 18 CMP EAX,18 ; <== LenS
must be 24 charts
0048DB72 |. 74 07 JE SHORT DUMeter.0048DB7B ; <==
Continue check
0048DB74 |. 33C0 XOR EAX,EAX
0048DB76 |. E9 C5000000 JMP DUMeter.0048DC40
0048DB7B |> 803E 61 CMP BYTE PTR DS:[ESI],61
0048DB7E |. 7C 08 JL SHORT DUMeter.0048DB88
0048DB80 |. 803E 7A CMP BYTE PTR DS:[ESI],7A
0048DB83 |. 7F 03 JG SHORT DUMeter.0048DB88
0048DB85 |. 8006 E0 ADD BYTE PTR DS:[ESI],0E0
0048DB88 |> 803E 20 CMP BYTE PTR DS:[ESI],20
0048DB8B |. 74 15 JE SHORT DUMeter.0048DBA2
0048DB8D |. 8A16 MOV DL,BYTE PTR DS:[ESI] ; <== U[0]
0048DB8F |. 3A13 CMP DL,BYTE PTR DS:[EBX] ; <== if (
U[0] == "D" )
0048DB91 |. 75 08 JNZ SHORT DUMeter.0048DB9B ; <==
Continue check
0048DB93 |. 8A4E 01 MOV CL,BYTE PTR DS:[ESI+1] ; <==
U[1]
0048DB96 |. 3A4B 01 CMP CL,BYTE PTR DS:[EBX+1] ; <==
if ( U[1] == "3" )
0048DB99 |. 7E 07 JLE SHORT DUMeter.0048DBA2 ; <==
Continue check


- Trace tiếp ta đến quá trình phân cách chuỗi Serial nhập thành 4 đoạn .
Đoạn thứ nhất gồm 3 ký tự U[3][4][5]
Đoạn thứ hai gồm 8 ký tự U[7][8][9][10][11][12][13][14]
Đoạn thứ 3 cũng gồm 8 ký tự U[16][17][18][19][20][21][22][23]
Đoạn cuối cùng gồm 16 ký tự
U[0][1][2][3][4][5][6][7][8][9][10][11][12][13][14][15]
0048DBA2 |> \8D53 03 LEA EDX,DWORD PTR DS:[EBX+3]
0048DBA5 |. 8D45 F4 LEA EAX,[LOCAL.3]
0048DBA8 |. B9 03000000 MOV ECX,3 ; <== 3
charts
0048DBAD |. E8 14FDFFFF CALL DUMeter.0048D8C6 ; <==
SecI
0048DBB2 |. C645 F7 00 MOV BYTE PTR SS:[EBP-9],0
0048DBB6 |. 8D53 07 LEA EDX,DWORD PTR DS:[EBX+7]
0048DBB9 |. 8D45 E8 LEA EAX,[LOCAL.6]
0048DBBC |. B9 08000000 MOV ECX,8 ; <== 8
charts
0048DBC1 |. E8 00FDFFFF CALL DUMeter.0048D8C6 ; <==
SecII

×