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

Cracker Handbook 1.0 part 120 doc

6 84 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 80,23 KB

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

Nội dung

EDI là chiều dài chuỗi nhập... Đây cũng là gí trị cuối cùng... 2- Kết quả của giai đoạn trước là giá trị cho giai đoạn sau.

Trang 1

>>> >>> Giai đoạn mã hoá thứ ba :

QUOTE

>>> Chuyển giá trị cuối cùng vào lưu ở EAX

00401159 |> \8BC2 MOV EAX,EDX

>>> Làm sạch EDX để chuẩn bị cho quá trình kế tiếp Chứa phần dư của phép chia

0040115B | 33D2 XOR EDX,EDX

>>> Gán ECX = 02225h

0040115D | B9 25220000 MOV ECX,2225

>>> Làm sạch EBX cho quá trình xử lý chuỗi

00401162 | 33DB XOR EBX,EBX

>>> Lấy EAX chia cho ECX Phần nguyên của phép chia đươc lưu ở EAX, phần dư được lưu ở EDX

00401164 | F7F1 DIV ECX

>>> Làm sạch ESI, để chuẩn bị cho câu lệnh bên dưới

00401166 | 33F6 XOR ESI,ESI

>>> Là một quá trình kiể tra giá trị của vòng lặp EDI là chiều dài chuỗi nhập

00401168 | 3BFB CMP EDI,EBX

0040116A | 7E 21 JLE SHORT keygenme.0040118D

>>> Quá trình xử lý này cũng tương tự như hai giai đoạn trên

0040116C |> 8A4435 94 /MOV AL,BYTE PTR SS:[EBP+ESI-6C]

00401170 | 0FBEC8 |MOVSX ECX,AL

00401173 | 03D1 |ADD EDX,ECX < ==== EDX = EDX + ECX

00401175 | 3C 54 |CMP AL,54 < ==== so sánh với 054h

00401177 | 7C 07 |JL SHORT keygenme.00401180

00401179 | 0FAFCA |IMUL ECX,EDX < === ECX = ECX * EDX 0040117C | 8BD1 |MOV EDX,ECX < === EDX = ECX

0040117E | EB 08 |JMP SHORT keygenme.00401188

00401180 |> 0FAFCA |IMUL ECX,EDX < === ECX = ECX * EDX

>>> Đây chẳng qua chỉ là một phép toán tổng hợp < == > EDX = ECX + ECX

* 2

Trang 2

00401183 | 8D1449 |LEA EDX,DWORD PTR DS:[ECX+ECX*2]

00401186 | D1E2 |SHL EDX,1 < ==== EDX = EDX * 2

00401188 |> 46 |INC ESI

00401189 | 3BF7 |CMP ESI,EDI

0040118B |.^ 7C DF \JL SHORT keygenme.0040116C

>>> Giá trị cuối cùng của giai đoạn này được lưu ở EDX

>>> >>> Giai đoạn mã hoá thứ tư :

QUOTE

>>> Làm sạch ESI

0040118D |> \33F6 XOR ESI,ESI

>>> EDI là chiều dài chuỗi nhập

0040118F | 3BFB CMP EDI,EBX

00401191 | 7E 1F JLE SHORT keygenme.004011B2

>>> Quá trình xử lý này cũng tương tự như giai đoạn trên

00401193 |> 8A4435 94 /MOV AL,BYTE PTR SS:[EBP+ESI-6C]

00401197 | 0FBEC8 |MOVSX ECX,AL

0040119A | 03D1 |ADD EDX,ECX < === EDX = EDX + ECX 0040119C | 3C 4A |CMP AL,4A < === So sánh với 04Ah

0040119E | 7C 07 |JL SHORT keygenme.004011A7 < === Nhảy nếu nhỏ hơn

004011A0 | 0FAFCA |IMUL ECX,EDX < === ECX = ECX * EDX 004011A3 | 8BD1 |MOV EDX,ECX < === EDX = ECX

004011A5 | EB 06 |JMP SHORT keygenme.004011AD

004011A7 |> 0FAFCA |IMUL ECX,EDX < === ECX = ECX = ECX * EDX

Trang 3

004011AA | 8D1489 |LEA EDX,DWORD PTR DS:[ECX+ECX*4] 004011AD |> 46 |INC ESI < === ESI ++

004011AE | 3BF7 |CMP ESI,EDI

004011B0 |.^ 7C E1 \JL SHORT keygenme.00401193

>>> Giá trị cuối cùng của vòng lặp được lưu ở EDX

>>> >>> Giai đoạn mã hoá thứ năm : cũng tương tự như các giai đoạn trên

QUOTE

004011B2 |> \8BC2 MOV EAX,EDX < ==== EAX = EDX

004011B4 | 33D2 XOR EDX,EDX < === EDX = 00h

004011B6 | B9 342E0000 MOV ECX,2E34 < === ECX = 02E34h

004011BB | 33F6 XOR ESI,ESI < ==== ESI = 00h

>>> Lấy EAX chia cho ECX Phần nguyên được lưu ở EAX và phần dư được lưu ở EDX

004011BD | F7F1 DIV ECX

004011BF | 3BFB CMP EDI,EBX

004011C1 | 7E 20 JLE SHORT keygenme.004011E3

004011C3 |> 8A4C35 94 /MOV CL,BYTE PTR SS:[EBP+ESI-6C]

004011C7 | 0FBEC1 |MOVSX EAX,CL

004011CA | 03D0 |ADD EDX,EAX < === EDX = EAX + EDX 004011CC | 80F9 40 |CMP CL,40 < === So sánh với 040h

004011CF | 7C 05 |JL SHORT keygenme.004011D6 < === Nhảy nếu nhỏ hơn

004011D1 | 0FAFC2 |IMUL EAX,EDX < ==== EAX = EAX * EDX 004011D4 | EB 06 |JMP SHORT keygenme.004011DC

004011D6 |> 0FAFC2 |IMUL EAX,EDX < === EAX = EAX * EDX

Trang 4

004011D9 | 6BC0 07 |IMUL EAX,EAX,7 < === EAX = EAX * EAX * 7 004011DC |> 46 |INC ESI

004011DD | 8BD0 |MOV EDX,EAX < === EDX = EAX

004011DF | 3BF7 |CMP ESI,EDI

004011E1 |.^ 7C E0 \JL SHORT keygenme.004011C3

>>> Giá trị cuối cùng của vòng lặp được lưu ở EDX Đây cũng là gí trị cuối cùng

>>> >>> Giai đọan tạo chuỗi :

QUOTE

>>> Chuỗi được chuyển thành số dạnh thập phân

004011E3 |> \52 PUSH EDX ; /<%lu>

>>> Chuỗi được giữ nguyên định dạng ở dạnh số hex

004011E4 | 52 PUSH EDX ; |<%X>

>>> Chuỗi kết hợ có dạng : HEXDEC

004011E5 | 8D85 CCFEFFFF LEA EAX,DWORD PTR

SS:[EBP-134] ; |

004011EB | 68 30504000 PUSH keygenme.00405030 ; |Format =

"%X%lu"

004011F0 | 50 PUSH EAX ; |s

004011F1 | FF15 B0404000 CALL DWORD PTR

DS:[<&USER32.wsprintfA>] ; \wsprintfA

>>> Chuỗi được lưu ở địa chỉ : 0012F944 0012F960

Trang 5

>>>>>>>> Kết luận :

QUOTE

1- U và S nhập phải có tối thiểu 3 ký tự

2- Kết quả của giai đoạn trước là giá trị cho giai đoạn sau

3- Nếu gặp |<%X> === > Chuỗi giữ nguyên định dạng

4- Nếu gặp /<%lu> === > Chuỗi được chuyển sang dạng số thập phân

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

QUOTE

User : Moonbaby Serial : 7003BEDF1879293663

User : HVA-CrAcKeRtEaM Serial : 7E299EDB2116656859

QUOTE

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

TỪ KHÓA LIÊN QUAN