[發明專利]一種hook虛擬機中的函數的方法及終端在審
| 申請號: | 201710803627.4 | 申請日: | 2017-09-08 |
| 公開(公告)號: | CN109471767A | 公開(公告)日: | 2019-03-15 |
| 發明(設計)人: | 劉德建;鞏振燁;周小白;林陶鈞;曾捷 | 申請(專利權)人: | 福建省天奕網絡科技有限公司 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30;G06F9/455 |
| 代理公司: | 福州市博深專利事務所(普通合伙) 35214 | 代理人: | 林志崢 |
| 地址: | 350212 福*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 虛擬機 靜態函數 存儲地址 終端 磁盤文件 動態編譯 動態獲取 動態修改 函數編譯 性能監控 | ||
1.一種hook虛擬機中的函數的方法,其特征在于,包括步驟:
S1、獲取要hook的函數在虛擬機中的存儲地址;
S2、根據所述存儲地址,將所述函數編譯為靜態函數,獲取所述靜態函數的地址;
S3、hook所述靜態函數的地址。
2.根據權利要求1所述的hook虛擬機中的函數的方法,其特征在于,
所述步驟S1具體包括:
S11、獲取虛擬機的存儲空間;
S12、打開虛擬機存儲空間內的函數和類的集合;
S13、遍歷所述函數和類的集合,查找到要hook的函數,獲取要hook的函數的存儲地址。
3.根據權利要求2所述的hook虛擬機中的函數的方法,其特征在于,
所述步驟S13具體包括:
判斷所述要hook的函數是否存儲于類中,如果否,則遍歷所述函數集合,查找到要hook的函數,如果是,則遍歷所述類集合,查找到要hook的函數;
根據查找到的要hook的函數,獲取要hook的函數的存儲地址。
4.根據權利要求1所述的hook虛擬機中的函數的方法,其特征在于,
所述步驟S2中利用JIT技術將所述函數編譯為靜態函數。
5.根據權利要求1所述的hook虛擬機中的函數的方法,其特征在于,
所述步驟S3具體包括:
將所述靜態函數的地址轉向自定義的函數。
6.一種hook虛擬機中的函數的終端,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執行所述計算機程序時實現以下步驟:
S1、獲取要hook的函數在虛擬機中的存儲地址;
S2、根據所述存儲地址,將所述函數編譯為靜態函數,獲取所述靜態函數的地址;
S3、hook所述靜態函數的地址。
7.根據權利要求6所述的hook虛擬機中的函數的終端,其特征在于,
所述步驟S1具體包括:
S11、獲取虛擬機的存儲空間;
S12、打開虛擬機存儲空間內的函數和類的集合;
S13、遍歷所述函數和類的集合,查找到要hook的函數,獲取要hook的函數的存儲地址。
8.根據權利要求7所述的hook虛擬機中的函數的終端,其特征在于,
所述步驟S13具體包括:
判斷所述要hook的函數是否存儲于類中,如果否,則遍歷所述函數集合,查找到要hook的函數,如果是,則遍歷所述類集合,查找到要hook的函數;
根據查找到的要hook的函數,獲取要hook的函數的存儲地址。
9.根據權利要求6所述的hook虛擬機中的函數的終端,其特征在于,
所述步驟S2中利用JIT技術將所述函數編譯為靜態函數。
10.根據權利要求6所述的hook虛擬機中的函數的終端,其特征在于,
所述步驟S3具體包括:
將所述靜態函數的地址轉向自定義的函數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于福建省天奕網絡科技有限公司,未經福建省天奕網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710803627.4/1.html,轉載請聲明來源鉆瓜專利網。





