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

Cracker Handbook 1.0 part 131 potx

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 (59.82 KB, 5 trang )

00401F75 83FA46 cmp edx, 00000046

:00401F78 754E jne 00401FC8

:00401F7A 0FBE85FBFDFFFF movsx eax, byte ptr [ebp+FFFFFDFB]

:00401F81 83F845 cmp eax, 00000045

:00401F84 7542 jne 00401FC8

cái thằng soft này quả là lắm chuyện tôi chỉ có thể nói vắn tắt thế này các ký tự từ
1 đến 4 , kt 1 phải khác 46 hoặc kt2 phải khác 45 hặc kt3 khác 46 Có nghĩa là
phải làm cho 1 trong bốn lệnh nhảy trên nhảy nếu không sẽ đến cái chỗ xor
eax,eax.

Tiếp theo sau khi nhảy sẽ đến đây:

:00401FC8 0FBE8DF8FDFFFF movsx ecx, byte ptr [ebp+FFFFFDF8]

:00401FCF 0FBE95FAFDFFFF movsx edx, byte ptr [ebp+FFFFFDFA]

:00401FD6 3BCA cmp ecx, edx

:00401FD8 0F858A000000 jne 00402068

:00401FDE 0FBE85F9FDFFFF movsx eax, byte ptr [ebp+FFFFFDF9]

:00401FE5 0FBE8DFBFDFFFF movsx ecx, byte ptr [ebp+FFFFFDFB]

:00401FEC 3BC1 cmp eax, ecx


:00401FEE 7578 jne 00402068

:00401FF0 0FBE9511FEFFFF movsx edx, byte ptr [ebp+FFFFFE11]

:00401FF7 0FBE8513FEFFFF movsx eax, byte ptr [ebp+FFFFFE13]

:00401FFE 3BD0 cmp edx, eax

:00402000 7566 jne 00402068

:00402002 0FBE8D12FEFFFF movsx ecx, byte ptr [ebp+FFFFFE12]

:00402009 0FBE9514FEFFFF movsx edx, byte ptr [ebp+FFFFFE14]

:00402010 3BCA cmp ecx, edx

:00402012 7554 jne 00402068

:00402014 0FBE85FEFDFFFF movsx eax, byte ptr [ebp+FFFFFDFE]

:0040201B 0FBE8DFFFDFFFF movsx ecx, byte ptr [ebp+FFFFFDFF]

:00402022 3BC1 cmp eax, ecx

:00402024 7542 jne 00402068

cũng như trên bạn phải làm cho nó nhảy một trong các lệnh nhảy này, không là ra
cái nag, còn mấy cái kt trên là ký tự thứ mấy thì chắc là bạn cũng nắm được cách
tính rồi phải không?


Đơn giản tôi lấy cái đầu tiên nó chuyển kt thứ nhất vào ecx và kt thứ 3 vào edx, và
nó so edx với ecx vậy nếubạn muốn nó nhảy thì ký tự thứ nhất phải khác ký tự thứ
3.

Bây giờ đến chô tiếp

:00402068 0FBE9502FEFFFF movsx edx, byte ptr [ebp+FFFFFE02]

:0040206F 83FA74 cmp edx, 00000074

:00402072 755A jne 004020CE

:00402074 0FBE8503FEFFFF movsx eax, byte ptr [ebp+FFFFFE03]

:0040207B 83F853 cmp eax, 00000053

:0040207E 754E jne 004020CE

:00402080 0FBE8D04FEFFFF movsx ecx, byte ptr [ebp+FFFFFE04] kt thứ 12

:00402087 83F952 cmp ecx, 00000052

Đây nữa:

:00402126 0FBE85FDFDFFFF movsx eax, byte ptr [ebp+FFFFFDFD] kt thứ 5

:0040212D 83F854 cmp eax, 00000054

:00402130 7424 je 00402156


:00402132 0FBE8D02FEFFFF movsx ecx, byte ptr [ebp+FFFFFE02] kt thứ 10

:00402139 83F954 cmp ecx, 00000054

:0040213C 7418 je 00402156

:0040213E 0FBE9507FEFFFF movsx edx, byte ptr [ebp+FFFFFE07] kt thứ 15

:00402145 83FA54 cmp edx, 00000054

:00402148 740C je 00402156

:0040214A 0FBE850CFEFFFF movsx eax, byte ptr [ebp+FFFFFE0C]

:00402151 83F854 cmp eax, 00000054

:00402154 7542 jne 00402198

tuy nhiên chỗ này thì khác , mấy cái je mà nhảy là đến xor eax, eax vậy nên các ký
tự phải thỏa điều kiện để không bằng cho đến chỗ jne 00402198

Hy vọng là bạn đã hiểu được cách thức , hãy làm sao cho nó nhảy qua chô xor
eax,eax đến được chỗ này là bạn thành công:

:00402299 3BD0 cmp edx, eax

:0040229B EB04 jmp 004022A1

:0040229D 33C0 xor eax, eax


:0040229F EB05 jmp 004022A6

* Referenced by a (U)nconditional or ©onditional Jump at Address:

|:0040229B(U)

|

:004022A1 B801000000 mov eax, 00000001

để dễ cho các bạn tính toán tôi cho saün bảng như sau:

byte ptr [ebp+FFFFFDF8] kt thứ 1

byte ptr [ebp+FFFFFDF9] 2

byte ptr [ebp+FFFFFDFA] 3

byte ptr [ebp+FFFFFDFB] 4

byte ptr [ebp+FFFFFDFC] 5

byte ptr [ebp+FFFFFDFD] 6

byte ptr [ebp+FFFFFDFE] 7

byte ptr [ebp+FFFFFDFF] 8

byte ptr [ebp+FFFFFE00] 9


byte ptr [ebp+FFFFFE01] 10

byte ptr [ebp+FFFFFE02] 11

byte ptr [ebp+FFFFFE03] 12

byte ptr [ebp+FFFFFE04] 13

byte ptr [ebp+FFFFFE05] 14

byte ptr [ebp+FFFFFE06] 15

byte ptr [ebp+FFFFFE07] 16

byte ptr [ebp+FFFFFE08] 17


×