Tham khảo tài liệu 'cracker handbook part 123', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | Posted by moonbaby Jan 3 2004 05 33 PM QUOTE Homepage http CrackMe Coder v0 d Microsoft Visual C Type Name Serial Packed N A Crack Tool OllyDbg Unpack Tool N A Request Correct Serial Rule N A Note N A Dät Breakpoint tai hai diêm sau QUOTE 00401233 . FFD6 CALL ESI GetDlgItemT extA 0040124B . FFD6 CALL ESI GetDlgItemT extA Trace tiêp ta dên dây QUOTE 0040124D . 68 306A4000 PUSH ASCII M1235678 00401252 . 68 30694000 PUSH ASCII Moonbaby 00401257 . E8 A4FDFFFF CALL Trace thẳng vào trong lệnh CALL này ta đến qúa trình mã hoá chuỗi nhập. QUOTE Ta đến đây 00401000 53 PUSH EBX Trace tiếp ta đến 0040100B . 8A0B MOV CL BYTE PTR DS EBX Ký tự đầu tiên của S nhập 0040100D . 33ED XOR EBP EBP 0040100F . 57 PUSH EDI 00401010 . 8A06 MOV AL BYTE PTR DS ESI Ký tự đầu tiên của U nhập 00401012 . 3AC1 CMP AL CL Hai ký tự này phải giống nhau 00401014 . 0F85 69010000 JNZ Nếu không nhảy đến thông báo sai. Trace tiếp một đoạn ta đến đây 00401026 . 83F9 05 CMP ECX 5 So sánh chiều dài chuỗi với 05h 5 00401029 . 0F82 54010000 JB U nhập 5 ký tự nhảy đến thông báo sai. Trace tiếp ta đến đây So sánh ký tự thứ hai với 02Dh có mã ASCII - 0040102F . 807B 01 2D CMP BYTE PTR DS EBX 1 2D ASCII - 00401033 0F85 4A010000 JNZ Nhảy nếu không đúng thế. Trace tiếp thêm đoạn ta đến đoạn mã hoá đầu tiên QUOTE 00401047 . 74 17 JE SHORT Nhảy thoát nếu không nhập gì. 00401049 0FBe0c32 MOVSX ECX BYTE PTR DS EDX ESI Đưa từng ký tự vào ECX 0040104D . 03E9 aDd EBP ECX EBP EBP ECX EBP ban đầu bằng 00h Đoạn mã này thực chất là gán ECX bằng chiều dài chuỗi U nhập. 0040104F . 8BFE MOV EDI ESI 00401051 . 83C9 FF OR ECX FFFFFFFF 00401054 . 33C0 XOR EAX EAX 00401056 . 42 INC EDX EDX EDX 1 là biến đếm vòng lặp 00401057 . F2 Ae REPNE SCAS BYTE PTR ES EDI