TAILIEUCHUNG - Cracking part 31

Phương pháp này dựa trên hàm api FindWindow của hệ thống. Như ta biết, các cửa sổ của Ollydbg đều có caption và classname. Vì thế ta sẽ cố tìm xem tại thời điểm hiện tại chương trình OllyDbg có được chạy hay không. Hàm FindWindow : trả về handle của cửa sổ chứa class name và window name phù hợp với chuỗi nhập vào, lưu ý là hàm này không tìm trong cửa sổ con. | tìm ra được một số cách khác khá hữu hiệu và hi vọng với bài viết này các bạn sẽ có thể sử dụng cũng như phát triển kĩ thuật này nhuần nhuyễn hơn. Cách I FindWindow Phương pháp này dựa trên hàm api FindWindow của hệ thống. Như ta biết các cửa sổ của Ollydbg đều có caption và classname. Vì thế ta sẽ cố tìm xem tại thời điểm hiện tại chương trình OllyDbg có được chạy hay không. Hàm FindWindow trả về handle của cửa sổ chứa class name và window name phù hợp với chuỗi nhập vào lưu ý là hàm này không tìm trong cửa sổ con. Cấu trúc hàm Quote HWND FindWindow LPCTSTR lpClassName address of class name LPCTSTR lpWindowName address of window name Tham số lpClassName chứa tên của class name. lpWindowName chứa tên của cửa sổ nếu tham số này là NULL thì có nghĩa là chấp nhận mọi window names caption . Giá trị trả về là EAX 0 nếu không tìm ra Đoạn code Code .data strOllyClsName db OLLYDBG O .code invoke FindWindow ADDR strOllyClsName NULL cmp eax OOOOOOOOh jne Olly_Detected Cách II CreateToolhelp32Snapshot Process32First Next Cách thức sử dụng 1. Sử dụng GetCurrentProcessId để lấy processld hiện tại của chương trình. 2. Tạo một vòng lặp của hàm CreateToolhelp32Snapshot và Process32First Next so sánh mọi giá trị th32ProcessID trong cấu trúc PROCESSENTRY32 với giá trị processid mà ta đã lấy từ bước 1 cho tới khi nào tìm ra. 3. Khi đó lấy giá trị th32ParentProcessID của cấu trúc PROCESSENTRY32 hiện tại. 4. Lại tạo một vòng lặp của hàm CreateToolhelp32Snapshot và Process32First Next so sánh mọi giá trị th32ProcessID trong cấu trúc PROCESSENTRY32 với giá trị th32ParentProcessID mà ta đã lấy từ bước 3 cho tới khi nào tìm ra. 5. Lấy giá trị szExeFile của cấu trúc PROCESSENTRY32 hiện tại và kiểm tra xem nó có phải là 6. Nếu có thì có nghĩa là chương trình hiện tại đang bị debug bởi Olly D Đoạn code Code .586 .model flat stdcall option casemap none include d masm32 IN CLUDE W include d masm32 IN CLUDE include d masm32 IN CLUDE includelib d .

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.