Khái niệm Browser Helper Objects (BHO):

Một phần của tài liệu các phương pháp lập trình vượt FIREWALL (Trang 76 - 78)

Browser Helper Objects (BHO), tạm dịch là đối tượng trợ giúp cho trình duyệt, là 1 khái niệm do Microsoftđưa ra. Đây là 1 dạng ứng dụng được phát triển dựa trên môi trường COM (Component Object Model). Dòng đời của đối tượng này gắn liền với dòng đời của trình duyệt Internet Explorer, tức là khi khởi động sẽ sử dụng chung vùng nhớ cùng với trình duyệt web Internet

Explorer và chỉđược hủy khi trình duyệt bịđóng. Khi chạy, đối tượng sẽ có thể tương tác với tất cả mọi thành phần cũng nhưđối tượng khác của trình duyệt (ví dụ: cửa sổ, toolbar, textfield,…),có thể nhận được các thông điệp, sự kiện do trình duyệt phát ra như các sự kiện trở về trang trước đó (GoBack), trang sau

Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường

(GoForward), hay sự kiện Download thành công (DocumentComplete),… Các BHO khi được khởi tạo thì trước hết phải trải qua quá trình đăng kí vào Registry cho hệ thống thông qua giá trị của CLSID. Giá trị này đóng vai trò như 1 giá trị định danh (Identifier) cho duy nhất BHO.

Hình dưới đây minh họa quá trình trình duyệt khởi động và nạp các BHO vào bộ nhớđể xử lí:

Hình 28 Quá trình trình duyệt khởi động và nạp các BHO

Quá trình hoạt động như sau : - Khởi động trình duyệt.

- Trình duyệt sẽ tìm trong Registry các giá trị CLSID của các BHO tương ứng và load các module ứng dụng của các BHO này vào bộ nhớ

- Mỗi BHO được khởi tạo sẽ có 1 Interface (tạm dịch là đối tượng giao tiếp) riêng biệt. Khi tìm thấy các Interface này của BHO, trình duyệt sẽ chuyển con trỏ trỏđến Interface của chính mình (Interface

IUnkown) cho các BHO. Chính việc chuyển IUnkown cho các BHO mà các BHO này mới có thể can thiệp được vào các đối tượng cũng như các sự kiện của trình duyệt.

Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường

Một phần của tài liệu các phương pháp lập trình vượt FIREWALL (Trang 76 - 78)