|
|
CDQ - Convert Double to Quad (386+)
Usage: CDQ
Modifies flags: None
Converts signed DWORD in EAX to a signed quad word in EDX:EAX by extending the high order bit of EAX throughout EDX
IDIV - Signed Integer Division
Usage: IDIV src
Modifies flags: (AF,CF,OF,PF,SF,ZF undefined)
Signed binary division of accumulator by source. If source is a byte value, AX is divided by "src" and the quotient is stored in AL and the remainder in AH. If source is a word value, DX:AX is divided by "src", and the quotient is stored in AL and the remainder in DX.
CDQ
Lúc này EAX đang chứa giá trị có độ rộng DWORD 000000C4
Sau khi convert sang QUAD, giá trị là 00000000 000000C4 tương ứng với EDX:EAX
Vậy là EDX chứa 00000000, EAX vẫn chứa 000000C4
IDIV
lấy DX:AX 000000C4 chia cho 13 được A dư 6
Phần nguyên chứa trong AL
Phần dư chứa trong DX
Có gì sai mấy bác góp ý hehe
|
|
|
Hóa ra là cái crackme này có bug, chỉ cần nhập 1 chữ số là dc, làm lần đầu tìm ra chữ Z => mừng hụt . Bây giờ lấy cái pass của hateit lần ngược lại mới biết ra chỗ mấu chốt là ở đây
0040139D |> /8A8F A3214000 /mov cl, byte ptr [edi+4021A3]
004013A3 |. |8A1E |mov bl, byte ptr [esi]
004013A5 |. |84DB |test bl, bl
004013A7 |. |74 08 |je short 004013B1
004013A9 |. |32D9 |xor bl, cl
004013AB |. |881E |mov byte ptr [esi], bl
004013AD |. |46 |inc esi
004013AE |. |47 |inc edi
004013CB |. F3:A6 repe cmps byte ptr es:[edi], byte ptr [esi]
Thế là có thể đọc tut 19 rồi
PS: Chúc anh Kien luôn mạnh khỏe để viết tut cho em đọc , hehe
|
|
|
pass có phải là chữ "Z" ko vậy anh Kien, sao em extract ko dc
|
|
|
|
|
|
|