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

Cracker Handbook 1.0 part 128 pps

9 98 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 9
Dung lượng 82,11 KB

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

Nội dung

Câu lệnh này là chèn giá trị tại địa chỉ DS:[EDX] vào trước ký tự của chuỗi được lưu ở ECX bên trên.

Trang 1

Posted by: moonbaby Jan 7 2004, 03:27 AM

QUOTE

Homepage : http://crackme.de

CrackMe : orion_crackme4.zip (CrackMe4.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

>>>>>>>> Chương trình này mã hoá chuỗi rất đơn giản, nhưng đoạn mã xử lý thì rất dài :

QUOTE

>>>> Câu lệnh này là nạp từng ký tự của chuỗi U nhập vào ECX

00401675 0FBE08 MOVSX ECX,BYTE PTR DS:[EAX]

>>>> Trace tiếp một đoạn khá dài ta đến đây Câu lệnh này là chèn giá trị tại địa chỉ DS:[EDX] vào trước ký tự của chuỗi được lưu ở ECX bên trên ( ký tự ở đại chỉ này luôn là 00h )

004016CB 8B12 MOV EDX,DWORD PTR DS:[EDX]

>>>> Lặp lại quá trình cho đến hết chuỗi

00401777 ^\0F85 C6FEFFFF JNZ CRACKME4.00401643

Trang 2

>>>> Trace tiếp ta đến :

0040189C E8 07A30600 CALL CRACKME4.0046BBA8

>>>> Trace vào trong lệnh này ta thấy

0046BBAC | 8B00 MOV EAX,DWORD PTR DS:[EAX] < === Chuỗi S nhập

0046BBAE | 8B12 MOV EDX,DWORD PTR DS:[EDX] < === Chuỗi S thực

>>>> Trace thẳng vào trong lệnh này ta đến quá trình so sánh chuỗi 0046BBB0 | E8 FF52FFFF CALL CRACKME4.00460EB4

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

QUOTE

1- Quá trình xử ý chuỗi này là chuyển ký tự thành mã ASCII và chèn trước mỗi ký tự số 00

2- Quá trình xử lý này cực ký đơn giản nhưng cái khó là tìm ra đoạn mã

và đặt BreakPoint

>>>>>>>> Chuỗi mã hóa và chuỗi S nhập được lưu ở

QUOTE

006BF2AC 00BE530C ASCII

Trang 3

"004D006F006F006E0062006100620079"

006BF2B0 00BE533C ASCII "412456"

Có thể nhì thấy ở của sổ thứ 5

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

QUOTE

User : Moonbaby

Serial : 004D006F006F006E0062006100620079

User : HVA-CrAcKeRtEaM

Serial

: 004800560041002D0043007200410063004B00650052007400450061004D

Ba file crackme của Diablo sau khi crack xong sẽ cho ta một hình rất đẹp

Posted by: NVCT.com Jan 9 2004, 03:26 AM

QUOTE

Victim : mankind

Tools : OllyDbg v1.09d

Trang 4

Crack file : mankind-soarp1.exe

Cracked by : NVCT.com

URL : http://crackme.de

Cracked by : NCVT.com

Set BreakPoint here :

QUOTE

004010C3 | E8 C2020000 CALL

<JMP.&USER32.GetDlgItemTextA> ; \GetDlgItemTextA

00401123 | E8 62020000 CALL

<JMP.&USER32.GetDlgItemTextA> ; \GetDlgItemTextA

The first MagicString :

QUOTE

00401128 | 8D05 36304000 LEA EAX,DWORD PTR DS:[403036]

< === Save here

0040112E | C600 43 MOV BYTE PTR DS:[EAX],43 <

======== C

00401131 | C640 01 72 MOV BYTE PTR DS:[EAX+1],72 <

====== r

00401135 | C640 02 61 MOV BYTE PTR DS:[EAX+2],61 <

====== a

00401139 | C640 03 63 MOV BYTE PTR DS:[EAX+3],63 <

Trang 5

====== c

0040113D | C640 04 6B MOV BYTE PTR DS:[EAX+4],6B <

====== k

00401141 | C640 05 54 MOV BYTE PTR DS:[EAX+5],54 <

====== T

00401145 | C640 06 68 MOV BYTE PTR DS:[EAX+6],68 <

====== h

00401149 | C640 07 69 MOV BYTE PTR DS:[EAX+7],69 <

====== i

0040114D | C640 08 73 MOV BYTE PTR DS:[EAX+8],73 <

====== s

00401151 | C640 09 31 MOV BYTE PTR DS:[EAX+9],31 <

====== 1

================> MagicString1 = CrackThis1

The second MagicString :

QUOTE

00401155 | 8D05 41304000 LEA EAX,DWORD PTR DS:[403041]

< === Save here

0040115B | C600 4B MOV BYTE PTR DS:[EAX],4B <

======== K

0040115E | C640 01 61 MOV BYTE PTR DS:[EAX+1],61 <

====== a

00401162 | C640 02 6E MOV BYTE PTR DS:[EAX+2],6E <

====== n

00401166 | C640 03 61 MOV BYTE PTR DS:[EAX+3],61 <

====== a

Trang 6

0040116A | C640 04 6C MOV BYTE PTR DS:[EAX+4],6C <

====== l

0040116E | C640 05 32 MOV BYTE PTR DS:[EAX+5],32 <

====== 2

00401172 | C640 06 33 MOV BYTE PTR DS:[EAX+6],33 <

====== 3

================> MagicString2 = Kalan23

The first Process :

QUOTE

004011A9 | 8D05 8B314000 LEA EAX,DWORD PTR

DS:[40318B] < ==== MagicString1

004011AF | 8D1D 41304000 LEA EBX,DWORD PTR

DS:[403041] < ==== MagicString2

004011B5 | 8D15 26314000 LEA EDX,DWORD PTR

DS:[403126] < ==== input U

004011BB |> 8A0C30 /MOV CL,BYTE PTR DS:[EAX+ESI] <

==== Chart of MagicString1

004011BE | 8A5415 00 |MOV DL,BYTE PTR SS:[EBP+EDX]

< ==== Chart of U input

004011C2 | 8A043B |MOV AL,BYTE PTR DS:[EBX+EDI] <

==== Chart of MagicString2

004011C5 | 02C2 |ADD AL,DL

004011C7 | 02C1 |ADD AL,CL

004011C9 | 2C 02 |SUB AL,2

004011CB | 34 09 |XOR AL,9

004011CD | 33C9 |XOR ECX,ECX

004011CF | 8AC8 |MOV CL,AL

Trang 7

004011D1 | 8D86 8B314000 |LEA EAX,DWORD PTR

DS:[ESI+40318B]

004011D7 | 8808 |MOV BYTE PTR DS:[EAX],CL

004011D9 | 8D05 8B314000 |LEA EAX,DWORD PTR

DS:[40318B]

004011DF | 46 |INC ESI

004011E0 | 83FE 0A |CMP ESI,0A

004011E3 | 75 02 |JNZ SHORT SOARP1.004011E7

004011E5 | 33F6 |XOR ESI,ESI

004011E7 |> 8D1D 41304000 |LEA EBX,DWORD PTR

DS:[403041]

004011ED | 47 |INC EDI

004011EE | 83FF 07 |CMP EDI,7

004011F1 | 75 02 |JNZ SHORT SOARP1.004011F5

004011F3 | 33FF |XOR EDI,EDI

004011F5 |> 8D15 26314000 |LEA EDX,DWORD PTR

DS:[403126]

004011FB | 45 |INC EBP ======================== counter

004011FC | 3B2D 1E314000 |CMP EBP,DWORD PTR

DS:[40311E]

00401202 |.^ 7C B7 \JL SHORT SOARP1.004011BB

After this process the value ( MagicString3 ) is saved at DS:[40318B] The second Process :

QUOTE

00401204 | C705 22314000>MOV DWORD PTR DS:[403122],0A

Trang 8

0040120E | 8B0D 22314000 MOV ECX,DWORD PTR DS:[403122] < ====== ECX = 0Ah

00401214 | 33F6 XOR ESI,ESI

00401216 | 85C9 TEST ECX,ECX

00401218 | 7E 3B JLE SHORT SOARP1.00401255 0040121A |> 8A8E 8B314000 /MOV CL,BYTE PTR

DS:[ESI+40318B] < === Chart of MagicString3

00401220 | 80F9 30 |CMP CL,30

00401223 | 7C 1A |JL SHORT SOARP1.0040123F

00401225 | 80F9 2F |CMP CL,2F

00401228 | 76 09 |JBE SHORT SOARP1.00401233 0040122A | 80F9 3A |CMP CL,3A

0040122D | 73 04 |JNB SHORT SOARP1.00401233 0040122F | 7E 19 |JLE SHORT SOARP1.0040124A

00401231 | EB 0C |JMP SHORT SOARP1.0040123F

00401233 |> 80F9 40 |CMP CL,40

00401236 | 76 07 |JBE SHORT SOARP1.0040123F

00401238 | 80F9 5B |CMP CL,5B

0040123B | 73 02 |JNB SHORT SOARP1.0040123F 0040123D | 7E 0B |JLE SHORT SOARP1.0040124A 0040123F |> 80C1 13 |ADD CL,13

00401242 | 888E 8B314000 |MOV BYTE PTR

DS:[ESI+40318B],CL

00401248 |.^ EB D0 |JMP SHORT SOARP1.0040121A 0040124A |> 8B0D 22314000 |MOV ECX,DWORD PTR DS:[403122]

00401250 | 46 |INC ESI

00401251 | 3BF1 |CMP ESI,ECX

00401253 |.^ 7C C5 \JL SHORT SOARP1.0040121A

After the second Process, we here :

Trang 9

QUOTE

00401255 |> \68 8B314000 PUSH SOARP1.0040318B ; /String2 =

"2AR20MMO11" < == Real Serial

0040125A | 68 B9304000 PUSH SOARP1.004030B9 ; |String1 =

"1" < ======== input S

So :

QUOTE

User : NVCT.com Serial : 2AR20MMO11

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

TỪ KHÓA LIÊN QUAN