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

Cracker Handbook 1.0 part 245 doc

6 136 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

Định dạng
Số trang 6
Dung lượng 87,91 KB

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

Nội dung

DLL Dynamic link library OCX,OCA OCX/ActiveX VBX VBX SCR Screen saver CPL Control panel FON Font file DPL Delphi 3 package BPL Delphi 4 package Tuy nhiên nó là phần mềm thuộc dạng Sharew

Trang 1

004115FC | 0FBE56 05 MOVSX EDX,BYTE PTR DS:[ESI+5] ->KT 6 vào EDX

00411600 | 0FBE4E 0F MOVSX ECX,BYTE PTR DS:[ESI+F] ->KT 16 vào ECX

00411604 | 03D1 ADD EDX,ECX

00411606 | 81FA 9B000000 CMP EDX,9B

0041160C | 74 04 JE SHORT unpacked.00411612

0041160E | 33C0 XOR EAX,EAX

00411610 | 5E POP ESI

00411611 | C3 RETN

Ở đây sẽ chuyển ký tự thứ 6 vào EDX, ký tự 16 vào ECX rồi cộng chúng lại kết quả lưu ở EDX

So sánh EDX với 9B (155) Nếu không bằng thì XOR EAX,EAX Nếu bằng thì nhảy:

Code:

00411612 |> B0 01 MOV AL,1 ->AL=1 ->Successfully

00411614 | 5E POP ESI

00411615 \ C3 RETN

Đến đây là xong Tóm lại, Soft này không quan tâm đến E-mail của chúng ta mà chỉ yêu cầu chuỗi SerialNumber có 16 ký tự, tổng của ký tự 6 và 16 ở hệ 10 phải bằng 155 và không có ký tự NUL ở đầu chuỗi

Ví dụ như: HUONGBABYILIKEUY

Download KeyGen here: http://rapidshare.de/files/7004685/KeyGen.exe.html Written by Ha Viet Hung (hvh0904)

How to KeyGen EXE Scope 6.41

Software: EXE Scope 6.41

Hompage: http://www.vector.co.jp/authors/VA003525/

Language: Borland Delphi 6.0 - 7.0

Tools: PeiD 0.94; OllyDbg 1.10

Cracker: hvh0904/KT44

Trong quá trình cracking, các bạn hẳn đã đôi lần sử dụng EXE Scope 6.41 Nó là phần mềm cho phép chỉnh sửa file Các dạng file mà EXE Scope 6.41 hỗ trợ:

Quote:

Trang 2

DLL Dynamic link library

OCX,OCA OCX/ActiveX

VBX VBX

SCR Screen saver

CPL Control panel

FON Font file

DPL Delphi 3 package

BPL Delphi 4 package

Tuy nhiên nó là phần mềm thuộc dạng Sharewere nên nếu chưa đăng ký, chúng ta cũng chỉ edit được mỗi file không quá một lần Do đó, cần phải đăng ký nó để có thể sử dụng hết các chức năng của chương trình

OK Chạy chương trình, vào menu Help ->Regist Nhập đại Name và ID vào 2 textbox, nhấn OK Hê hê, nó bắn nag báo lỗi ngay rằng "Invalid ID or Name" Thông tin thu thập đã xong Bây giờ chúng ta exit chương trình và scan nó bằng PeiD xem nó có bị pack không Kết quả là nó không bị pack và được viết bằng Borland Delphi 6.0 - 7.0 Bước đầu khá là suôn sẻ

Bây giờ mới là công việc chủ yếu Load chương trình bằng OllyDbg xong, run chương trình Rightclick lên cửa sổ CPU của Olly và chọn Search for ->All referenced text strings Trong cửa sổ text, chọn Search for text Nhập vào "ID or Name" OK Tìm thấy rồi thì doubleclick lên nó chúng ta sẽ ở đây:

Code:

004C21F2 | B9 A4224C00 MOV ECX,eXeScope.004C22A4 ; ASCII

"ID"

004C21F7 | 8BC6 MOV EAX,ESI

004C21F9 | 8B38 MOV EDI,DWORD PTR DS:[EAX]

004C21FB | FF57 04 CALL DWORD PTR DS:[EDI+4]

004C21FE | 8BC6 MOV EAX,ESI

004C2200 | E8 DB19F4FF CALL eXeScope.00403BE0

004C2205 | A1 38EC4C00 MOV EAX,DWORD PTR DS:[4CEC38]

004C220A | C600 01 MOV BYTE PTR DS:[EAX],1

004C220D | C783 4C020000 >MOV DWORD PTR DS:[EBX+24C],1

004C2217 | EB 20 JMP SHORT eXeScope.004C2239

004C2219 |> 6A 00 PUSH 0

004C221B | 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]

004C221E | B8 B0224C00 MOV EAX,eXeScope.004C22B0 ; ASCII

"Invalid ID or Name;“o˜^ID‚Ü‚½‚Í–¼‘O‚ª–³Œø‚Å‚·"

004C2223 | E8 280C0000 CALL eXeScope.004C2E50

004C2228 | 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14] ; | 004C222B | 66:8B0D E0224C>MOV CX,WORD PTR DS:[4C22E0] ; |

Trang 3

004C2232 | B2 01 MOV DL,1 ; |

004C2234 | E8 6754F7FF CALL eXeScope.004376A0 ;

\eXeScope.004376A0

004C2239 |> 33C0 XOR EAX,EAX

004C223B | 5A POP EDX

004C223C | 59 POP ECX

004C223D | 59 POP ECX

004C223E | 64:8910 MOV DWORD PTR FS:[EAX],EDX

004C2241 | 68 68224C00 PUSH eXeScope.004C2268

004C2246 |> 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]

Kéo lên phía trên một chút thấy có hai thằng nhảy đến đoạn nag Nhiệm vụ của ta

là phải tìm số đăng ký sao cho hai thằng đó không nhảy xuống nữa

Vậy thì lên đầu đoạn code này và đặt breakpoint tại đó Bây giờ đăng ký với

YourName và ID Ở đây tôi điền vào YourName=hvh0904/KT44 và ID=506 Xong nhấn OK Olly sẽ ice tại breakpoint trên Dùng F8 trace xuống cho đến khi gặp lệnh nhảy đầu tiên

Code:

004C2111 | 8BD8 MOV EBX,EAX

004C2113 | 33C0 XOR EAX,EAX

004C2115 | 55 PUSH EBP

004C2116 | 68 61224C00 PUSH eXeScope.004C2261

004C211B | 64:FF30 PUSH DWORD PTR FS:[EAX]

004C211E | 64:8920 MOV DWORD PTR FS:[EAX],ESP

004C2121 | A1 38EC4C00 MOV EAX,DWORD PTR DS:[4CEC38]

004C2126 | 8038 00 CMP BYTE PTR DS:[EAX],0

004C2129 74 0F JE SHORT eXeScope.004C213A

004C212B | C783 4C020000 >MOV DWORD PTR DS:[EBX+24C],1

004C2135 | E9 FF000000 JMP eXeScope.004C2239

004C213A |> 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]

004C213D | 8B83 F8020000 MOV EAX,DWORD PTR DS:[EBX+2F8]

004C2143 | E8 2C02FBFF CALL eXeScope.00472374

004C2148 | 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]

004C214B | A1 C4EE4C00 MOV EAX,DWORD PTR DS:[4CEEC4]

004C2150 | E8 8F28F4FF CALL eXeScope.004049E4

004C2155 | 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]

Tại địa chỉ 4C2129, lệnh nhảy sẽ không thực thi nếu chương trình là

REGISTERED do đó, chúng ta sẽ không quan tâm nó làm gì Vì chưa đăng ký nên

nó sẽ nhảy Tiếp tục trace bằng F8 cho đến 4C217F, chúng ta gặp một hàm CALL với đối số AL dưới nó là lệnh nhảy thứ nhất của một trong 2 lệnh nhảy đến nag Vậy hàm này phải trả về AL<>0 thì mới ổn F7 để vào hàm này, ta sẽ ở đây

Trang 4

Code:

004CB0B0 /$ 55 PUSH EBP ->Here!

004CB0B1 | 8BEC MOV EBP,ESP

004CB0B3 | 51 PUSH ECX

004CB0B4 | 53 PUSH EBX

004CB0B5 | 8955 FC MOV DWORD PTR SS:[EBP-4],EDX

004CB0B8 | 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]

004CB0BB | E8 809DF3FF CALL eXeScope.00404E40

004CB0C0 | 33C0 XOR EAX,EAX

004CB0C2 | 55 PUSH EBP

004CB0C3 | 68 4FB14C00 PUSH eXeScope.004CB14F

004CB0C8 | 64:FF30 PUSH DWORD PTR FS:[EAX]

004CB0CB | 64:8920 MOV DWORD PTR FS:[EAX],ESP

004CB0CE | 33DB XOR EBX,EBX

004CB0D0 | 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]

004CB0D3 | E8 789BF3FF CALL eXeScope.00404C50

004CB0D8 | 83F8 0A CMP EAX,0A ->Số đăng ký có 10 ký tự?

004CB0DB | 75 5C JNZ SHORT eXeScope.004CB139

Kiểm tra dãy số đăng ký có 10 ký tự (hệ DEC) không? Nếu khác thì bắn nag Nếu

là 10 ký tự thì kiểm tra tiếp:

Code:

004CB0DD | 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]

004CB0E0 | B8 64B14C00 MOV EAX,eXeScope.004CB164 ; ASCII

"A1910"

004CB0E5 | E8 AA9EF3FF CALL eXeScope.00404F94

004CB0EA | 48 DEC EAX

004CB0EB | 74 10 JE SHORT eXeScope.004CB0FD

004CB0ED | 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]

004CB0F0 | B8 74B14C00 MOV EAX,eXeScope.004CB174 ; ASCII

"A1423"

004CB0F5 | E8 9A9EF3FF CALL eXeScope.00404F94

004CB0FA | 48 DEC EAX

004CB0FB | 75 3C JNZ SHORT eXeScope.004CB139

004CB0FD |> B8 02000000 MOV EAX,2

5 ký tự đầu mặc định phải là "A1910" hoặc "A1423" Nếu đã thỏa mãn, kiểm tra tiếp:

Code:

004CB102 |> 8B55 FC /MOV EDX,DWORD PTR SS:[EBP-4]

004CB105 | 8A5402 FF |MOV DL,BYTE PTR DS:[EDX+EAX-1]

004CB109 | 80FA 30 |CMP DL,30

Trang 5

004CB10C | 72 2B |JB SHORT eXeScope.004CB139

004CB10E | 80FA 39 |CMP DL,39

004CB111 | 77 26 |JA SHORT eXeScope.004CB139

004CB113 | 40 |INC EAX

004CB114 | 83F8 0B |CMP EAX,0B

004CB117 |.^75 E9 \JNZ SHORT eXeScope.004CB102

Đoạn này buộc các ký tự phải là các chữ số Nếu đã thỏa mãn thì tiếp tục:

Code:

004CB119 | 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]

004CB11C | 0FB640 08 MOVZX EAX,BYTE PTR DS:[EAX+8]

004CB120 | 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]

004CB123 | 0FB652 09 MOVZX EDX,BYTE PTR DS:[EDX+9]

004CB127 | 03C2 ADD EAX,EDX

004CB129 | B9 0A000000 MOV ECX,0A

004CB12E | 33D2 XOR EDX,EDX

004CB130 | F7F1 DIV ECX

004CB132 | 83FA 04 CMP EDX,4

004CB135 | 75 02 JNZ SHORT eXeScope.004CB139

004CB137 | B3 01 MOV BL,1

004CB139 |> 33C0 XOR EAX,EAX

004CB13B | 5A POP EDX

004CB13C | 59 POP ECX

004CB13D | 59 POP ECX

004CB13E | 64:8910 MOV DWORD PTR FS:[EAX],EDX

004CB141 | 68 56B14C00 PUSH eXeScope.004CB156

004CB146 |> 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]

004CB149 | E8 4298F3FF CALL eXeScope.00404990

004CB14E \ C3 RETN

004CB14F .^E9 2092F3FF JMP eXeScope.00404374

004CB154 .^EB F0 JMP SHORT eXeScope.004CB146

004CB156 8BC3 MOV EAX,EBX

004CB158 5B POP EBX

004CB159 59 POP ECX

004CB15A 5D POP EBP

004CB15B C3 RETN

Đoạn này sẽ lấy tổng ký tự 9 và ký tự 10 chia cho 0A Nếu dư 4 thì ổn Nếu tất cả

đã OK thì quay về chúng ta sẽ không bị dính nag mà sẽ tiếp cận với lệnh nhảy thứ

2 trong 2 lệnh nhảy đến nag đã nói:

Code:

004C218C | A1 C4EE4C00 MOV EAX,DWORD PTR DS:[4CEEC4]

Trang 6

004C2191 | 8B00 MOV EAX,DWORD PTR DS:[EAX] 004C2193 | E8 B82AF4FF CALL eXeScope.00404C50 004C2198 | 85C0 TEST EAX,EAX

004C219A | 7E 7D JLE SHORT eXeScope.004C2219

Ngày đăng: 03/07/2014, 17:21

TỪ KHÓA LIÊN QUAN