Đang chuẩn bị liên kết để tải về tài liệu:
Cracking part 32

Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ

1. Tạo lỗi ngoại lệ và nhảy tới bộ quản lý lỗi khi và chỉ khi chương trình không bị debug 2. Trong bộ xử lí, lấy cấu trúc EXCEPTION_POINTERS từ stack 3. | 1. Tạo lỗi ngoại lệ và nhảy tới bộ quản lý lỗi khi và chỉ khi chương trình không bị debug 2. Trong bộ xử lí lấy cấu trúc EXCEPTION POINTERS từ stack 3. Từ cấu trúc EXcEpTION_POINTERS lấy cấu trúc CONTEXT 4. Thay đổi regEIP của cấu trúc CONTEXT sang vị trí lệnh mà chương trình sẽ thực thi tiếp. 5. Đặt cơ EXCEPTION_CONTINUE_EXECUTION vào EAX 6. Phục hồi stack và tiếp tục thực thi chương trình. Code minh họa Code .586 .model flat stdcall option casemap none include d masm32 IN CLUDE W indows.inc include d masm32 IN CLUDE user32.inc include d masm32 IN CLUDE kernel32.inc includelib d masm32 lib user32.lib includelib d masm32 lib kernel32.lib .data strCaption db OllyDbg Detector 0 strNotFound db OllyDbg NOT found 0 .code ExcpHandler proc mov eax dword ptr esp 4 eax EXCEPTION_POINTERS mov eax eax 4 eax CONTEXT assume eax ptr CONTEXT mov eax .regEip offset safe_address Change regEip pushad invoke MessageBox 0 addr strNotFound addr strCaption 0 popad xor eax eax Set EXCEPTION_CONTINUE_EXECUTION dec eax retn 4 Normalize stack and return ExcpHandler endp start invoke SetUnhandledExceptionFilter offset ExcpHandler mov ebx dword ptr 0FFFFFFFFh Exception is here safe_address invoke ExitProcess 0 end start Cách 4 APi Redirection Một cách khác mà tôi nghĩ ra đó là dựa vào cơ chế quản lý các hàm api được gọi trong chương trình debug của Ollydbg. Oleh Yuschuk tác giả của OllyDbg đã sử dụng api redirection khi chương trình bị debug gọi hàm api. Có thể xem vd dưới đây Code 00401000 PUSH ASD.00403033 FileName kernel32.dll 00401005 CALL JMP. KERNEL32.LoadLibraryA LoadLibraryA -- 0040105C JMP DWORD PTR DS 402004 JMP DWORD PTR DS KERNEL32.LoadLibraryA -- 87FF4120 PUSH BFF776D0 PUSH KERNEL32.LoadLibraryA 87FF4125 JMP KERNEL32.BFF957CA Điều này có nghĩa là tác giả đã load bảng Import Table từ chương trình bị debug và sau đó điền các giá trị mới vào IAT redirect các hàm API gốc qua một buffer chứa hàm gọi tới địa chỉ API thật. Quan trọng nhất là tác giả OllyDbg đã mô phỏng hàm .

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.