[發(fā)明專利]基于Preload的Hook控制方法及裝置在審
| 申請?zhí)枺?/td> | 202111673276.2 | 申請日: | 2021-12-31 |
| 公開(公告)號: | CN114385563A | 公開(公告)日: | 2022-04-22 |
| 發(fā)明(設(shè)計)人: | 林皓;王天齊;楊泳;江韜 | 申請(專利權(quán))人: | 北京北信源軟件股份有限公司 |
| 主分類號: | G06F16/17 | 分類號: | G06F16/17 |
| 代理公司: | 北京開陽星知識產(chǎn)權(quán)代理有限公司 11710 | 代理人: | 王艷斌 |
| 地址: | 100081 北京市海淀區(qū)中關(guān)村*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 preload hook 控制 方法 裝置 | ||
本公開涉及一種基于Preload的Hook控制方法及裝置,其中,方法包括:接收到啟動軟件指令,通過程序加載器加載目標函數(shù),通過對指定文件進行監(jiān)控,獲取進程名稱列表和調(diào)用函數(shù)名稱列表,獲取當前進程和當前調(diào)用函數(shù),并判斷當前進程是否為當前待Hook進程和/或判斷當前調(diào)用函數(shù)是否為當前待Hook函數(shù),在當前進程為當前待Hook進程和/或在當前調(diào)用函數(shù)為當前待Hook函數(shù),對當前進程和/或當前調(diào)用函數(shù)進行Hook加載處理,本公開基于Preload機制,結(jié)合內(nèi)聯(lián)Hook技術(shù)原理和對指定文件的監(jiān)控,實現(xiàn)了實時控制Hook的加載等操作。
技術(shù)領(lǐng)域
本公開涉及計算機技術(shù)領(lǐng)域,尤其涉及一種基于Preload(預(yù)加載)的Hook(鉤子)控制方法及裝置。
背景技術(shù)
通常在Linux下Preload技術(shù)實現(xiàn)Hook常用的方法是構(gòu)建一個動態(tài)庫假定A.so,在該庫中按照實際需要重新設(shè)計和開發(fā)Libc.so.6中的系統(tǒng)函數(shù)或其他庫導(dǎo)出符號的同名函數(shù)假定為Afuncion,然后通過Linux的Preload進行預(yù)加載,使進程加載器預(yù)先加載A.so,由于A.so導(dǎo)出了Afuncion,那么在進程后續(xù)調(diào)用Afuncion時,就會直接指向A.so中的Afunction,從而實現(xiàn)Hook。
相關(guān)技術(shù)中,Preload的Hook機制無法實時控制Hook,因此如何實時控制Hook已成為亟需解決的問題。
發(fā)明內(nèi)容
為了解決上述技術(shù)問題,本公開提供了一種基于Preload的Hook控制方法及裝置。
第一方面,本公開實施例提供了一種基于Preload的Hook控制方法,包括:
接收到啟動軟件指令,通過程序加載器加載目標函數(shù);
通過對指定文件進行監(jiān)控,獲取進程名稱列表和調(diào)用函數(shù)名稱列表;其中,進程名稱列表包括當前待Hook進程、以及調(diào)用函數(shù)名稱列表包括當前待Hook函數(shù);
獲取當前進程和當前調(diào)用函數(shù),并判斷當前進程是否為當前待Hook進程和/或判斷當前調(diào)用函數(shù)是否為當前待Hook函數(shù);
在當前進程為當前待Hook進程和/或在當前調(diào)用函數(shù)為當前待Hook函數(shù),對當前進程和/或當前調(diào)用函數(shù)進行Hook加載處理。
第二方面,本公開實施例提供了一種基于Preload的Hook控制裝置,包括:
接收模塊,用于接收到啟動軟件指令,通過程序加載器加載目標函數(shù);
第一獲取模塊,用于通過對指定文件進行監(jiān)控,獲取進程名稱列表和調(diào)用函數(shù)名稱列表;其中,進程名稱列表包括當前待Hook進程、以及調(diào)用函數(shù)名稱列表包括當前待Hook函數(shù);
第一判斷模塊,用于獲取當前進程和當前調(diào)用函數(shù),并判斷當前進程是否為當前待Hook進程和/或判斷當前調(diào)用函數(shù)是否為當前待Hook函數(shù);
加載模塊,用于在當前進程為當前待Hook進程和/或在當前調(diào)用函數(shù)為當前待Hook函數(shù),對當前進程和/或當前調(diào)用函數(shù)進行Hook加載處理。
第三方面、本公開實施例提供了一種移動存儲設(shè)備讀寫控制設(shè)備,包括:
處理器,用于存儲處理器可執(zhí)行指令的存儲器;
處理器,用于從存儲器中讀取可執(zhí)行指令,并執(zhí)行指令以實現(xiàn)本公開前述實施例所述的基于Preload的Hook控制方法。
第四方面、本公開實施例提供了一種移動存儲設(shè)備讀寫控制介質(zhì),包括:
存儲介質(zhì)存儲有計算機程序,計算機程序用于執(zhí)行本公開前述實施例所述的基于Preload的Hook控制方法。
本公開實施例提供的技術(shù)方案與現(xiàn)有技術(shù)相比具有如下優(yōu)點:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京北信源軟件股份有限公司,未經(jīng)北京北信源軟件股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111673276.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 嵌入式信息儲存裝置及其預(yù)先加載數(shù)字財產(chǎn)管理的方法
- 一種Preload模式PCC規(guī)則的控制方法及裝置
- 可調(diào)整動態(tài)負載精度的自動起子
- 可調(diào)整動態(tài)負載精度的自動起子
- 一種內(nèi)存管理方法及設(shè)備
- 一種打印方法及裝置
- 一種基于SAS3.0的信號眼圖偏移糾正方法與系統(tǒng)
- 一種基于安卓系統(tǒng)開機優(yōu)化方法、存儲介質(zhì)及智能終端
- 一種CPLD引腳邏輯狀態(tài)監(jiān)測方法
- 基于Linux進程函數(shù)的網(wǎng)絡(luò)審計方法、裝置、系統(tǒng)
- 一種防止耳機插入終端設(shè)備時產(chǎn)生誤按鍵的方法及系統(tǒng)
- 一種用于獲取顯卡內(nèi)容的內(nèi)聯(lián)hook方法和系統(tǒng)
- 一種hook的方法及終端設(shè)備
- 一種實現(xiàn)hook的方法及裝置
- 一種Android系統(tǒng)應(yīng)用Hook方法及應(yīng)用鎖
- 鉤子處理方法及裝置
- 全局hook自動修復(fù)方法、裝置、設(shè)備及存儲介質(zhì)
- 指定函數(shù)被HOOK的處理方法、智能終端、存儲介質(zhì)
- 一種Hook實現(xiàn)方法、裝置、設(shè)備、介質(zhì)及產(chǎn)品
- 一種編譯期的hook方法、裝置、設(shè)備及存儲介質(zhì)





