[發明專利]一種新型Hook方法、存儲介質及電子裝置有效
| 申請號: | 202010000957.1 | 申請日: | 2020-01-02 |
| 公開(公告)號: | CN111352673B | 公開(公告)日: | 2023-10-03 |
| 發明(設計)人: | 甘堯 | 申請(專利權)人: | 上海域冪信息科技有限公司 |
| 主分類號: | G06F9/448 | 分類號: | G06F9/448 |
| 代理公司: | 上海國瓴律師事務所 31363 | 代理人: | 王喜坤 |
| 地址: | 200240 上海市閔行*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 新型 hook 方法 存儲 介質 電子 裝置 | ||
本發明提供了一種新型Hook方法,包括:S1:劫持HookFunction;S2:生成ArtMethod內存布局;S3:生成替換ArtMethod和備份ArtMethod;S4:判斷當前環境,S4A:等待目標Method所對應類初始化;S4B:調用目標ArtMethod;S5:將目標ArtMethod拷貝到備份ArtMethod中;S6:替換一段跳板的ArtMethod為替換ArtMethod;S7:執行替換ArtMethod。本發明的有益效果是:可以在Java層上高效率運行且邏輯清晰的實現除Callback以外的hook使用方式。
技術領域
本發明涉及移動互聯網,特別涉及一種新型Hook方法、存儲介質及電子裝置。
背景技術
隨著我國經濟的發展,人民生活水平的提高,我國移動互聯網日新月異,而隨著我國互聯網發展日新月異,如何提高移動設備的安全系數成為一個亟待解決的問題。
現有技術中,安卓的hook技術有PltGot替換hook技術、Xposed框架hook技術和substrate等native層內聯hook框架。其中,Plt-Got替換hook技術由于對應用內存直接操作,只適用于hook應用自身native層函數,并不適用對全局(安卓系統中全部應用)的hook;Xposed框架僅在Java層hook,缺少native層hook的相關功能;而substrate等native層內聯hook框架則兼容性、穩定性不高,相比較pc端的hook技術,安卓的hook技術還不夠成熟,難以兼顧控制范圍、穩定性和兼容性,并且在使用過程中,其僅支持Callback API,而不能使用其他的方法進行使用,同時由于Callback方式的固有弊端,其運行效率相對較低并且邏輯不夠清晰,維護相對困難。
故市場亟需一種可以實現在Java層上實現除Callback以外的hook使用方式,一方面提高運行效率,另一方面邏輯清晰的的Hook方法、存儲介質及電子裝置。
發明內容
為了解決上述技術問題,本發明中披露了一種新型Hook方法、存儲介質及電子裝置,本發明的技術方案是這樣實施的:
一種新型Hook方法,其特征在于:包括:S1:啟動安卓APP,Hook模塊劫持所有HookFunction;S2:使用Java反射機制讀取ART,解析ART中的ArtMethod,生成ArtMethod內存布局;S3:所述Hook模塊解析Java Annotation,并根據所述ArtMethod內存布局生成相應的替換ArtMethod和備份ArtMethod;S4:判斷當前環境,若當前環境滿足inline hook條件,進入S4A,否則進入S4B;S4A:暫存hook行為,等待所述ART中的目標Method所對應的所在的類初始化;S4B:調用所述目標ArtMethod所指向的方法,初始化所述目標ArtMethod所對應的方法所在的類并將DexCache中的目標方法覆蓋成替換方法;S5:運行ArtMethod生成程序,將所述目標ArtMethod拷貝到所述備份ArtMethod中;S6:申請一段跳板,替換所述一段跳板的ArtMethod為替換ArtMethod;S7:執行所述替換ArtMethod的所指向的方法。
優選地,還包括:S6A:若所述目標ArtMethod的方法使用內聯Hook,申請二段跳板;還包括S6B:所述一段跳板中的入口代碼指向所述二段跳板,所述目標ArtMethod的入口代碼被替換到二段跳板中。
優選地,所述S5還包括:S5A:禁止備份ArtMethod的JIT;若所述備份ArtMethod所指向的方法非static方法,所述方法設置為private方法;若調用所述目標Method,使用反射調用備份ArtMethod所指向的方法。
優選地,還包括S8:禁止目標Method的JIT;若所述Android版本大于8.0并且處于Debug模式下,設置目標Method為native方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海域冪信息科技有限公司,未經上海域冪信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010000957.1/2.html,轉載請聲明來源鉆瓜專利網。





