[發明專利]基于Preload的Hook控制方法及裝置在審
| 申請號: | 202111673276.2 | 申請日: | 2021-12-31 |
| 公開(公告)號: | CN114385563A | 公開(公告)日: | 2022-04-22 |
| 發明(設計)人: | 林皓;王天齊;楊泳;江韜 | 申請(專利權)人: | 北京北信源軟件股份有限公司 |
| 主分類號: | G06F16/17 | 分類號: | G06F16/17 |
| 代理公司: | 北京開陽星知識產權代理有限公司 11710 | 代理人: | 王艷斌 |
| 地址: | 100081 北京市海淀區中關村*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 preload hook 控制 方法 裝置 | ||
1.一種基于Preload的Hook控制方法,其特征在于,包括:
接收到啟動軟件指令,通過程序加載器加載目標函數;
通過對指定文件進行監控,獲取進程名稱列表和調用函數名稱列表;其中,所述進程名稱列表包括當前待Hook進程、以及所述調用函數名稱列表包括當前待Hook函數;
獲取當前進程和當前調用函數,并判斷所述當前進程是否為所述當前待Hook進程和/或判斷所述當前調用函數是否為所述當前待Hook函數;
在所述當前進程為所述當前待Hook進程和/或在所述當前調用函數為所述當前待Hook函數,對所述當前進程和/或所述當前調用函數進行Hook加載處理。
2.根據權利要求1所述的基于Preload的Hook控制方法,其特征在于,所述對指定文件進行監控,獲取進程名稱列表,包括:
創建線程循環讀取事件;
在所述事件為文件修改事件的情況下,讀取文件中待加載的進程名稱生成所述進程名稱列表。
3.根據權利要求1所述的基于Preload的Hook控制方法,其特征在于,所述對指定文件進行監控,獲取調用函數名稱列表,包括:
創建線程循環讀取事件;
在所述事件為文件修改事件的情況下,讀取文件中待調用的函數名稱生成所述調用函數名稱列表。
4.根據權利要求1所述的基于Preload的Hook控制方法,其特征在于,所述對所述當前進程或所述當前調用函數進行Hook加載處理,包括:
讀取所述當前進程或所述當前調用函數對應的函數地址的首指令;
將所述首指令替換成第一絕對跳轉指令。
5.根據權利要求1所述的基于Preload的Hook控制方法,其特征在于,所述進程名稱列表還包括:已加載Hook進程;
在所述當前進程不為所述當前待Hook進程的情況下,判斷所述當前進程是否為所述已加載Hook進程;
所述當前進程為所述已加載Hook進程,對所述當前進程進行Hook卸載處理。
6.根據權利要求1所述的基于Preload的Hook控制方法,其特征在于,所述調用函數名稱列表還包括:已加載Hook函數;
在所述當前調用函數不為所述當前待Hook函數的情況下,判斷所述當前調用函數是否為所述已加載Hook函數;
所述當前調用函數為所述已加載Hook函數,對所述當前調用函數進行Hook卸載處理。
7.根據權利要求5或6所述的基于Preload的Hook控制方法,其特征在于,所述對所述當前進程或所述當前調用函數進行Hook卸載處理,包括:
讀取所述當前進程或所述當前調用函數對應的函數地址的固定長度指令;
按照當前指令類型讀取第二絕對跳轉指令;
將所述第二絕對跳轉指令替換成所述固定長度指令。
8.一種基于Preload的Hook控制裝置,其特征在于,包括:
接收模塊,用于接收到啟動軟件指令,通過程序加載器加載目標函數;
第一獲取模塊,用于通過對指定文件進行監控,獲取進程名稱列表和調用函數名稱列表;其中,所述進程名稱列表包括當前待Hook進程、以及所述調用函數名稱列表包括當前待Hook函數;
第一判斷模塊,用于獲取當前進程和當前調用函數,并判斷當前進程是否為所述當前待Hook進程和/或判斷所述當前調用函數是否為所述當前待Hook函數;
加載模塊,用于在所述當前進程為所述當前待Hook進程和/或在所述當前調用函數為所述當前待Hook函數,對所述當前進程和/或所述當前調用函數進行Hook加載處理。
9.一種電子設備,其特征在于,所述電子設備包括:
處理器;
用于存儲所述處理器可執行指令的存儲器;
所述處理器,用于從所述存儲器中讀取所述可執行指令,并執行所述指令以實現上述權利要求1-7中任一所述的一種基于Preload的Hook控制方法。
10.一種計算機可讀存儲介質,其特征在于,所述存儲介質存儲有計算機程序,所述計算機程序用于執行上述權利要求1-7中任一所述的一種基于Preload的Hook控制方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京北信源軟件股份有限公司,未經北京北信源軟件股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111673276.2/1.html,轉載請聲明來源鉆瓜專利網。





