[發明專利]Windows環境下一種可配置和集成的Hook系統及其方法有效
| 申請號: | 201710777071.6 | 申請日: | 2017-09-01 |
| 公開(公告)號: | CN107688747B | 公開(公告)日: | 2019-11-08 |
| 發明(設計)人: | 張捷晟;曾九天;韓蘭勝;田鈺杰;付才;余水;肖雄火;田昭 | 申請(專利權)人: | 武漢倚天劍科技有限公司 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F21/56 |
| 代理公司: | 武漢宇晨專利事務所 42001 | 代理人: | 黃瑞棠 |
| 地址: | 430074 湖北省武漢市洪山區光*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | windows 環境 一種 配置 集成 hook 系統 及其 方法 | ||
1.Windows環境下一種可配置和集成的Hook系統的Hook方法,
所述的Hook系統包括目標進程子系統(200),目標進程子系統(200)包括已注入的鉤子單元(210);
設置有應用程序子系統(100);
應用程序子系統(100)包括注入器單元(110)和鉤子單元(120);
注入器單元(110)包括注入模塊(111)和通信模塊(112);
鉤子單元(120)包括內聯鉤子模塊(121)、導入地址表鉤子模塊(122)和向量化異常處理鉤子模塊(123);
其交互關系是:
注入模塊(111)、鉤子單元(120)、已注入的鉤子單元(210)和通信模塊(112)依次交互;
所述的注入模塊(111)是指一段可以將動態鏈接庫DLL注入到另一個進程的程序,包括選擇目標進程(111A)、選擇注入的動態鏈接庫(111B)、選擇注入方式(111C)和配置鉤子函數(111D);
所述的通信模塊(112)是一段可以進行信息傳遞和接收的程序,包括命名管道通信(112A),命名管道通信(112A)包括依次進行交互的創建管道、等待連接和進行輸入輸出I/O操作;
所述的鉤子單元(120)包括彼此獨立的內聯鉤子模塊(121)、導入地址表鉤子模塊(122)和向量化異常處理鉤子模塊(123);
內聯鉤子模塊(121)是指實現了內聯鉤子完整過程的DLL文件;
導入地址表鉤子模塊(122)是指實現了導入地址表鉤子完整過程的DLL文件;
向量化異常處理鉤子模塊(123)是指實現了向量化異常處理鉤子完整過程的DLL文件;
其特征在于Hook方法包括下列步驟:
①創建命名管道,等待連接(401)
通信模塊首先創建命名管道,并進入等待連接的狀態,用于與步驟⑤⑥⑦⑧⑨里的已注入的鉤子單元進行通信;
②選擇目標進程(402)
在選擇目標進程中,以進程標識PID加上進程名的形式向用戶列出當前進程,用戶進行選擇即可,這一步確定了要鉤取的目標進程子系統;
③選擇注入的動態鏈接庫(403)
通過選擇注入的動態鏈接庫,用戶自行指定待注入的動態鏈接庫DLL文件;本系統的鉤子單元封裝了三個動態鏈接庫,每一個動態鏈接庫都實現了不同且完整的Hook功能,用戶可選擇任意一種;
④選擇注入方式(404)
通過選擇注入方式,用戶在系統提供的三種注入方式里選擇,實現將步驟③中用戶所指定的動態鏈接庫注入到步驟②中所確定的目標進程子系統;
⑤反饋注入信息(405)
注入完成后,已注入的鉤子單元與通信模塊進行通信,向通信模塊反饋注入信息;
⑥配置Hook參數(406)
根據通信模塊里的注入反饋信息,若注入成功,在配置鉤子函數里配置已注入的鉤子單元所需的Hook參數;
⑦向已注入的鉤子單元傳遞Hook參數(407)
通信模塊向已注入的鉤子單元傳遞配置鉤子函數中的Hook參數;
⑧完成Hook功能流程(408)
已注入的鉤子單元獲取到Hook參數后,在目標進程子系統實現完整的Hook功能流程;
⑨反饋Hook信息(409)
已注入的鉤子單元向通信模塊反饋Hook信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢倚天劍科技有限公司,未經武漢倚天劍科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710777071.6/1.html,轉載請聲明來源鉆瓜專利網。





