[發明專利]一種通過驅動自動化攔截Windows自動更新的方法有效
| 申請號: | 201910676339.6 | 申請日: | 2019-07-25 |
| 公開(公告)號: | CN110417771B | 公開(公告)日: | 2021-07-09 |
| 發明(設計)人: | 劉德建;任佳偉;陳宏展 | 申請(專利權)人: | 福建天晴在線互動科技有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L29/08;H04L29/12 |
| 代理公司: | 福州旭辰知識產權代理事務所(普通合伙) 35233 | 代理人: | 程勇 |
| 地址: | 350212 福*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 通過 驅動 自動化 攔截 windows 自動更新 方法 | ||
1.一種通過驅動自動化攔截Windows自動更新的方法,其特征在于:所述方法為:在Windows操作系統底層安裝WFP網絡過濾器,并設置一驅動程序,所述驅動程序注冊并開啟WFP網絡過濾器,WFP網絡過濾器能實時攔截Windows操作系統向微軟更新服務器接收的網絡數據包,以及微軟更新服務器發送來的網絡數據包,從而實現攔截Windows操作系統自動更新;
所述WFP網絡過濾器攔截Windows操作系統自動更新的具體方式為:
步驟1、設置一用于存儲域名黑名單和IP黑名單的黑名單數據庫,初始化黑名單數據庫,并在黑名單數據庫中加入update.microsoft.com和windowsupdate.com 兩項域名信息;
步驟2、驅動使用FwpmEngineOpen函數獲取基本過濾引擎BFE句柄,作為后續操作的參數;
步驟3、驅動使用FwpsCalloutRegister函數,分別在應用層數據流建立層、數據流層和數據包層對應注冊監控數據的回調函數;其中,應用層數據流建立層的回調函數用于處理請求網絡鏈接的數據包,數據流層的回調函數用于處理TCP數據包,數據包層的回調函數用于處理UDP數據包;
步驟4、驅動使用FwpmCalloutAdd函數向過濾引擎申請添加注冊的3個回調函數;
步驟5、驅動使用FwpmSubLayerAdd函數,分別在應用層數據流建立層、數據流層和數據包層創建子層,用于捕獲數據;
步驟6、驅動使用FwpmFilterAdd函數,通過過濾引擎,分別在應用層數據流建立層、數據流層和數據包層創建過濾器,并將回調函數與子層關聯;完成關聯后,當子層捕獲到網絡數據包時,Windows操作系統會調用子層對應的回調函數處理這個數據包;
步驟7、 應用層數據流建立層的回調函數在被系統調用時,先解析網絡數據包的進程路徑、進程ID、本地IP地址、遠端IP地址、本地端口、以及遠端端口信息,并將這些信息保存至上下文數據流中,然后使用FwpsFlowAssociateContext函數將上下文數據流與數據流層和數據包層關聯綁定;所述過濾器會將上下文數據流跨層傳輸至數據流層和數據包層,在數據流層、數據包層的回調函數處理子層捕獲的數據包時,通過解析上下文數據流獲取此數據包的進程路徑、進程ID、本地IP地址、遠端IP地址、本地端口、遠端端口信息;
步驟8、數據流層和數據包層的回調函數捕獲到UDP和TCP數據包后,判斷數據包的遠端IP是否位于黑名單數據庫的IP黑名單中,是,則攔截數據包,阻止數據包向下一層傳遞,否,則進入下一步驟;
步驟9、數據流層和數據包層分別判斷截獲的數據包是否為HTTP數據包或DNS數據包,若是則進入下一步驟,否則放行數據包;
步驟10、數據流層和數據包層分別解析HTTP報文和DNS報文;通過字符串比較判斷報文中的請求域名是否位于黑名單數據庫中的域名黑名單中,若不在域名黑名單中,則放行此數據包;如果在域名黑名單中則進行攔截處理;
步驟11、當需要終止攔截Windows操作系統自動更新時,調用ControlService函數向驅動傳遞控制碼SERVICE_CONTROL_STOP 使驅動停止作用,驅動收到控制碼后調用默認的驅動卸載回調函數,在驅動卸載回調函數調用過程中卸載并注銷過濾器,最后應用程序調用DeleteService函數卸載驅動程序。
2.根據權利要求1所述的一種通過驅動自動化攔截Windows自動更新的方法,其特征在于:所述方法進一步具體包括如下步驟:步驟S1、啟動Windows操作系統的一應用程序,所述應用程序加載驅動程序,加載是否成功,是,則進入步驟S2;否,則將加載失敗的驅動程序卸載后再重新加載一次驅動程序;再進入步驟S2;
步驟S2、所述應用程序刷新DNS緩存,并開啟驅動程序,使驅動程序在Windows操作系統內核層運行;
步驟S3、所述驅動程序注冊并開啟WFP網絡過濾器,開始執行攔截功能;
步驟S4、所述應用程序等待用戶傳來的停止攔截Windows操作系統更新的請求;
步驟S5、等待到終止請求后,驅動程序關閉并注銷所述WFP網絡過濾器;
步驟S6、應用程序停止并卸載驅動程序,然后應用程序終止。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于福建天晴在線互動科技有限公司,未經福建天晴在線互動科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910676339.6/1.html,轉載請聲明來源鉆瓜專利網。





