-
17-01-2009, 04:50 PM #1Junior Member
- Ngày tham gia
- Sep 2015
- Đang ở
- 89 Tam Trinh - Hoàng Mai - Hà Nội
- Bài viết
- 0
Từng bước sử dụng kỹ thuật Override hàm API
có đọc ở đây
II – Tại sao phải sử dụng kỹ thuật override trên Windows ?
Nếu sử dụng kỹ thuật override thì developer có thể can thiệp vào (tức là có thể chen vào) các tiến trình thực thi (process) các thao tác xử lý của riêng mình bằng cách đón đợi thông báo gọi hàm API tương ứng và chuyển hướng điều khiển tới hàm của riêng developer. Khi không cần thiết thì cơ chế override có thể được gỡ bỏ và các trình ứng dụng có thể trở về thực thi bình thường. Override là hữu dụng trong trường hợp developer muốn bổ xung thêm hoặc sửa đổi một số tính năng hoạt động của tất cả hay chỉ một số ứng dụng (application) đang chạy trong hệ thống (hoặc tôi muốn làm một việc gì đó đen tối !!!???)
VD như bước 1 làm gì,bước 2 làm gì không,thank youView more random threads:
- Check đang kết nối Internet và có thể vào web
- Sự khác nhau giữa std::map và std::vector
- Đưa ảnh Bitmap vào Menu như thế nào?
- thông điệp hệ thống thực chất là gì?
- Chống hack DLL, chống inject DLL? giúp mình với.
- Kill Hide Process in dll
- Sử dụng hàm RtlAdjustPrivilege để cài đặt quyền DebugProcess trên Windows 7?
- Làm thế nào để đọc 1 số byte cuối của file trên mạng
- Lập T hook
- chuyển âm thanh từ buzzer ra speaker máy tính
-
19-01-2009, 04:09 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Có 3 loại hook hàm api ( trong usermode ) :
- Hook bảng export ( EAT) : khó thực hiện, khó bị phát hiện, gỡ ko ra. Các dll sẽ export ra các hàm api, ta tìm và đổi lại địa chỉ của các hàm đã được export.
- Hook bảng import ( IAT ) : hơi cực nhưng lại dễ bị qua mặt. Các chương trình dùng bảng IAT để ánh xạ địa chỉ các hàm api trong dll vào, ta tìm và đổi lại địa chỉ của các hàm này.
- Chèn code vào đầu hàm : chèn lệnh nhảy ( jmp, mã lệnh là 0xE9 ) và đều hàm. Các bước thực hiện :
+ Tìm địa chỉ hàm
+ Set lại thuộc tính vùng nhớ cho phép ghi
+ Lưu lại 5 byte nội dung cũ
+ Ghi nội dung lệnh nhảy lên
+ Phục hồi lại thuộc tính cũ cho vùng nhớ.
-
07-08-2010, 05:43 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi gianghoplus
-
07-08-2010, 06:34 PM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi meoconlongvang
Nếu có 1 hàm bắt đầu bằng 7 byte (liên tiếp) thì cách này không hoạt động và đôi khi (thường) gây crash
-
09-08-2010, 04:39 PM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Cách thứ 3 mà meoconlongvang đưa ra còn gọi là intercept API. Kevin đồng ý với ý kiến của gianghoplus, và việc sử dụng intercept API sẽ dễ gây đến vấn đề xung đội với mội trường multi thread, đó là việc khá chuối.
Một cách đơn giản khác có thể sử dụng là dùng proxy dll, cách này cực kỳ đơn giản.
Em xin hỏi các bác: Nếu như dll sử dụng private export thì ta dùng cách nào?
-
09-08-2010, 04:47 PM #6Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi quangnh89
Vì đây là một phương pháp khá đơn giản, dễ dùng nên mình cũng muốn khắc phục được nhược điểm này.
-
09-08-2010, 05:40 PM #7Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Cách thứ 3 mà meoconlongvang đưa ra còn gọi là intercept API. Kevin đồng ý với ý kiến của gianghoplus, và việc sử dụng intercept API sẽ dễ gây đến vấn đề xung đội với mội trường multi thread, đó là việc khá chuối.
về lý thuyết có thể hook được bất cứ thứ gì chỉ cần biết địa chỉ và kiểu dữ liệu các tham số,nếu nhìn qua thì KAV Hook các Hàm Undocument của Kernel,để hook các hàm không export người ta dùng cách search binary mã code đặc biệt của hàm cần Hook,mã nhận dạng này có thể thay đổi tùy theo phiên bản của hệ điều hành,nếu ai quan tâm mình có thể share cho 1 vài tài liệu và source code hook Hàm không Export Kernel ( trên windows XP )
-
09-08-2010, 05:49 PM #8Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi gianghoplus
Ngọc Bích xanh bản chất thuộc dòng đá đá hoa (jade). Và cẩm thạch là tên gọi chung của ngọc bích. Vì thực chất chúng thuộc dòng đá đa khoáng được hình thành từ chất Silicat dưới dạng dioxy. Ngọc bích...
Chia sẻ Vòng tay ngọc bích xanh là...