1. Trang chủ
  2. » Công Nghệ Thông Tin

Cracker Handbook 1.0 part 284 docx

6 77 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cracker Handbook 1.0 Part 284
Trường học Reverse Engineering Association
Chuyên ngành Software Engineering
Thể loại Hướng dẫn
Năm xuất bản 2004
Thành phố N/A
Định dạng
Số trang 6
Dung lượng 86,76 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- Ứng với mỗi ký tự trong 3 ký tự sau ta có một giá trị trong bảng này... all REA‘s members, HacNho, RongChauA, Deux, Infinity, ..... REVERSE ENGINEERING ASSOCIATION http://www.rea.fare

Trang 1

00415BE5 | 83C4 04 ADD ESP,4

00415BE8 | 85C0 TEST EAX,EAX ; <== if correct return value = 4

00415BEA | 74 29 JE SHORT B2.00415C15

00415BEC | 8B4C24 0C MOV ECX,DWORD PTR SS:[ESP+C] ; <== Section_III

00415BF0 | 0FBE51 03 MOVSX EDX,BYTE PTR DS:[ECX+3] ; <== Section_III[3]

00415BF4 | 52 PUSH EDX

00415BF5 | E8 1CA41300 CALL B2.00550016 ; <== Must be (0-9)

00415BFA | 83C4 04 ADD ESP,4

00415BFD | 85C0 TEST EAX,EAX ; <== if correct return value = 4

00415BFF | 74 14 JE SHORT B2.00415C15

00415C01 | 8B4424 0C MOV EAX,DWORD PTR SS:[ESP+C] ; <== Section_III

00415C05 | 0FBE08 MOVSX ECX,BYTE PTR DS:[EAX] ; <== Section_III[0]

00415C08 | 51 PUSH ECX

00415C09 | E8 B2A31300 CALL B2.0054FFC0 ; <== Must be (a-z,A-Z)

00415C0E | 83C4 04 ADD ESP,4

00415C11 | 85C0 TEST EAX,EAX ; <== if correct return value = 1 or 2

00415C13 75 05 JNZ SHORT B2.00415C1A

- Bảng giá trị mặc định (96 giá trị – không tính giá trị 00 – tương ứng 96 ký tự : char(0x32) - char(0x7F)

005C23D6 48 00 10 00 10 00 10 00 10 00 10 00 10 00 10 00 H

005C23E6 10 00 10 00 10 00 10 00 10 00 10 00 10 00 10 00

005C23F6 84 00 84 00 84 00 84 00 84 00 84 00 84 00 84 00 „.„.„.„.„.„.„.„ 005C2406 84 00 84 00 10 00 10 00 10 00 10 00 10 00 10 00 „.„

005C2416 10 00 81 00 81 00 81 00 81 00 81 00 81 00 01 00

005C2426 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00

005C2436 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00

005C2446 01 00 01 00 01 00 10 00 10 00 10 00 10 00 10 00

005C2456 10 00 82 00 82 00 82 00 82 00 82 00 82 00 02 00 ‚.‚.‚.‚.‚.‚.1[1]

005C2466 02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00

1[1].1[1].1[1].1[1].1[1].1[1].1[1].1[1]

Trang 2

005C2476 02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00

1[1].1[1].1[1].1[1].1[1].1[1].1[1].1[1]

005C2486 02 00 02 00 02 00 10 00 10 00 10 00 10 00 20 00 1[1].1[1].1[1]

- Ứng với mỗi ký tự trong 3 ký tự sau ta có một giá trị trong bảng này Giá trị này sau đó thực hiện tiếp lệnh

0055003A | 83E0 04 AND EAX,4

- Và theo như giá trị trong bảng, chí có các giá trị “84” sau khi thực hiện phép AND mới trả về giá trị là “4”, còn các gía trị khác đề trả về giá trị “0” Tương tứng với các giá trị “84” là số ( 0 – 9 )

- Tương tự như vậy, ký tự đầu tiên được thực hiện tiếp lệnh :

0054FFE8 | 25 03010000 AND EAX,103

- Lập luận tương tự, chỉ có các giá trị “81”, ‘01”, “82”, “02” mới trả về giá trị khác

“0” ( “1” hoặc “2” ) Và tương ứng với các giá trị này là các ký tự ( a – z, A – Z )

/*/*/*/ - SERIAL tương ứng với USER :

User : REA-cRaCkErS Serial : N/A

Serial : 1603-3437-L912 or 9406-3437-u419

III – KeyGen :

/Section 1/- Tạo chuỗi ngẫu nhiên gồm 4 ký tự, trong đó hai giá trị hai ký tự sau ở dạng HEX phải nằm trong khoảnng 1 < Value < 12

/Section 2/- Chuỗi mặc định : 3437

/Section 3/- Chuỗi ngẫu nhiên trong đó ký tự đầu tiên nằm trong khoảng ( a – z, A – Z ) ba ký tự cuối cùng nằm trong khoảng ( 0 – 9 )

IV – SourceCode ( VC++ ) :

char reaSerial[64]={0};

char reaDefaultString[256] =

"0123456789qwertyuioplkjhgfdsazxcvbnmMNBVCXZASDFGHJKLPOIUYTRE WQ";

char reaThirdSection[10]={0};

int i=0;

int FirstSection=0;

srand( (unsigned)time( NULL ) );

Trang 3

FirstSection = (GetTickCount()%89 + 10) * 100 + (2 + GetTickCount()%10);

i=0;

while ( i < 4 ) {

if ( i == 0 ) {

reaThirdSection[i] = reaDefaultString[10 + GetTickCount()%52];

i++;

} else {

reaThirdSection[i] = reaDefaultString[rand() % 10]; i++;

} }

wsprintf(reaSerial,"%i-3437-",FirstSection);

lstrcat(reaSerial,reaThirdSection);

SetDlgItemText(IDC_Serial,reaSerial);

V – End of Tut :

- Finished – 07/07/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

http://www.rea.fareastking.com

Reverse Engineering Association

SoftWare

Homepage : http://www.anthemion.co.uk/dialogblocks

Production : Anthemion Software Ltd

SoftWare : DialogBlocks 1.52

Trang 4

Copyright by : Copyright © Anthemion Software Ltd, May 2004 All Rights Reserved

Type : Name / Serial

Packed : N / A

Language : Microsoft Visual C++ 6.0

Crack Tool : OllyDbg 1.09d, PEiD 0.92, kWdsm 10

Unpack : N / A

Request : Correct Serial / KeyGen

DialogBlocks 1.52

DialogBlocks is an editor for authoring cross-platform dialogs for wxWidgets applications You can use it to produce help files for your Windows, Linux, or Mac applications, in conjunction with wxWidgets

I – Information :

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

Visual C++ 6.0

- Nhập thử Name và Fake Serial, ta nhận được thông báo "Sorry, invalid

registration key…” Ta tìm được đoạn CODE này ở địa chỉ :

00413EDC > \B8 44BA6C00 MOV EAX,dialogbl.006CBA44 ; ASCII "Sorry, invalid registration key The key should be of the form:EA0927CF-E8CF149B-416363EE(three groups of 8 characters).Please also check that your specified user name is the sameas the one under which you purchased

DialogBlocks."

- Dò ngược lên trên và ta đặt BP tại lệnh CALL đầu tiên của Function này :

00413D96 E8 A52F2200 CALL <JMP.&MSVCRT._EH_prolog> ; <== 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 Để đi đến được đoạn CODE mã hoá của chương trình ta cần trace into vài lần :

00413E5F E8 FC140000 CALL dialogbl.00415360 ; <== Real Serial I

-=== TraceInto I === -

Trang 5

004153B1 | E8 EBFEFFFF CALL dialogbl.004152A1 ; <== Trace Into

-=== TraceInto II === -

004152C7 | E8 28FEFFFF CALL dialogbl.004150F4 ; <== Trace Into here

-=== TraceInto III === -

- Quá trình chuyển đổi chuỗi U nhập về dạng LowerCase :

0041514E |> /8A07 /MOV AL,BYTE PTR DS:[EDI]

00415150 | |3C 20 |CMP AL,20

00415152 | |74 0E |JE SHORT dialogbl.00415162

00415154 | |0FBEC0 |MOVSX EAX,AL

00415157 | |50 |PUSH EAX ; /c

00415158 | |FF15 48746600 |CALL DWORD PTR DS:[<&MSVCRT.tolower>]

; \tolower

0041515E | |8806 |MOV BYTE PTR DS:[ESI],AL

00415160 | |59 |POP ECX

00415161 | |46 |INC ESI

00415162 |> |47 |INC EDI

00415163 | |381F |CMP BYTE PTR DS:[EDI],BL

00415165 |.^\75 E7 \JNZ SHORT dialogbl.0041514E

- Kết hợp với chuỗi mặc định “Anthemion Software DialogBlocks” :

00415167 |> \FF75 EC PUSH [LOCAL.5] ; /src

0041516A | 8D85 84FDFFFF LEA EAX,[LOCAL.159] ; |

00415170 | 881E MOV BYTE PTR DS:[ESI],BL ; |

00415172 | 50 PUSH EAX ; |dest

00415173 | E8 7A1C2200 CALL <JMP.&MSVCRT.strcat> ;

\strcat

- Quá trình tạo chuỗi MD5Hash :

00415188 | E8 D2D0FFFF CALL dialogbl.0041225F ; <==

MD5Start

0041518D | 8D85 84FDFFFF LEA EAX,[LOCAL.159]

00415193 | 50 PUSH EAX ; /s

00415194 | E8 3B1C2200 CALL <JMP.&MSVCRT.strlen> ;

\strlen

00415199 | 50 PUSH EAX

0041519A | 8D85 84FDFFFF LEA EAX,[LOCAL.159]

004151A0 | 50 PUSH EAX

004151A1 | 8D45 84 LEA EAX,[LOCAL.31]

Trang 6

004151A4 | 50 PUSH EAX

004151A5 | E8 DDD0FFFF CALL dialogbl.00412287 ; <==

MD5Update

004151AA | 8D45 84 LEA EAX,[LOCAL.31]

004151AD | 50 PUSH EAX

004151AE | 8D45 DC LEA EAX,[LOCAL.9]

004151B1 | 50 PUSH EAX

004151B2 | E8 70D1FFFF CALL dialogbl.00412327 ; <==

MD5Finished

- Chuỗi MD5Hash được tạo thành là 16 bytes ( 16 ký tự ) Ta chia làm 4 đoạn, mỗi đoạn 4 bytes Quá trình tạo chuỗi Serial thực chỉ là quá trình chuyển đổi

ba đoạn đầu tiên của chuỗi MD5Hash thành chuỗi Serial theo định dạng

“XXXXXXXX-YYYYYYYY-ZZZZZZZZ” :

004151BC | 8D75 DC LEA ESI,[LOCAL.9] ; <== Add of MD5Hash

004151BF |> 33C9 /XOR ECX,ECX

004151C1 | 33C0 |XOR EAX,EAX

004151C3 |> 0FB61406 |/MOVZX EDX,BYTE PTR DS:[ESI+EAX] ; <== MD5Str[i]

004151C7 | C1E1 08 ||SHL ECX,8

004151CA | 03CA ||ADD ECX,EDX

Ngày đăng: 03/07/2014, 18:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN