[發明專利]終端應用的掛鉤方法及裝置有效
| 申請號: | 201711022177.1 | 申請日: | 2017-10-26 |
| 公開(公告)號: | CN107908444B | 公開(公告)日: | 2021-07-13 |
| 發明(設計)人: | 易新;任太勝;劉洪凱 | 申請(專利權)人: | 北京奇虎科技有限公司 |
| 主分類號: | G06F9/448 | 分類號: | G06F9/448 |
| 代理公司: | 北京律誠同業知識產權代理有限公司 11006 | 代理人: | 王玉雙 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 終端 應用 掛鉤 方法 裝置 | ||
本發明公開了一種終端應用的掛鉤方法及裝置,涉及信息處理技術領域,主要目的在于提出一種新的掛鉤函數方式,能夠實現在64位操作系統中掛鉤函數時不受跳轉內存范圍限制,保證成功掛鉤函數,從而能夠提升掛鉤函數的成功率。所述方法包括:在移動終端的應用基于64位的操作系統調用目標函數時,識別從目標函數跳轉到新函數的長跳轉指令,新函數為待所述目標函數掛鉤的函數;將目標函數的偽指令替換為長跳轉指令,以跳轉到根據長跳轉指令申請的內存地址,并執行新函數;在執行完新函數后,若確定需要繼續調用目標函數,則翻譯并執行機器碼指令;在執行完偽指令后,寫入長跳轉,以實現跳回目標函數。本發明適用于終端應用的掛鉤。
技術領域
本發明涉及信息處理技術領域,特別是涉及一種終端應用的掛鉤方法及裝置。
背景技術
掛鉤(hook)技術是Windows中提供的一種用以替換DOS下“中斷”的系統機制,掛鉤函數是Windows消息處理機制的一部分,通過設置“掛鉤函數”,應用程序可以在系統對所有消息、事件進行過濾,訪問在正常情況下無法訪問的消息。掛鉤函數的本質是一段用以處理系統消息的程序,通過系統調用,把它掛入系統。
目前,在基于64位的操作系統中掛鉤函數時,通常在128M跳轉內存范圍內掛鉤函數。然而,通過上述方式掛鉤函數,在跳轉的內存范圍超出128M時,掛鉤函數會失敗,導致掛鉤函數的成功率較低。因此,提出一種新的函數掛鉤方式是目前亟待解決的技術問題。
發明內容
有鑒于此,本發明提供一種終端應用的掛鉤方法及裝置,主要目的在于提出一種新的掛鉤函數方式,能夠實現在64位操作系統中掛鉤函數時不受跳轉內存范圍限制,保證成功掛鉤函數,從而能夠提升掛鉤函數的成功率。
依據本發明一方面,提供了一種終端應用的掛鉤方法,包括:
在移動終端的應用基于64位的操作系統調用目標函數時,識別從所述目標函數跳轉到新函數的長跳轉指令,所述新函數為待所述目標函數掛鉤的函數;
將所述目標函數的偽指令替換為所述長跳轉指令,以跳轉到根據所述長跳轉指令申請的內存地址,并執行所述新函數;
在執行完所述新函數后,若確定需要繼續調用所述目標函數,則翻譯并執行所述偽指令;
在執行完偽指令后,寫入所述長跳轉,以實現跳回所述目標函數。
依據本發明另一方面,提供了一種終端應用的掛鉤裝置,包括:
識別單元,用于在移動終端的應用基于64位的操作系統調用目標函數時,識別從所述目標函數跳轉到新函數的長跳轉指令,所述新函數為待所述目標函數掛鉤的函數;
替換單元,用于將所述目標函數的偽指令替換為所述長跳轉指令,以跳轉到根據所述長跳轉指令申請的內存地址,并執行所述新函數;
翻譯單元,用于在執行完所述新函數后,若確定需要繼續調用所述目標函數,則翻譯并執行所述偽指令;
寫入單元,用于在執行完偽指令后,寫入所述長跳轉,以實現跳回所述目標函數。
依據本發明又一方面,提供了一種計算機可讀存儲介質,其上存儲有計算機程序,該程序被處理器執行時實現以下步驟:
在移動終端的應用基于64位的操作系統調用目標函數時,識別從所述目標函數跳轉到新函數的長跳轉指令,所述新函數為待所述目標函數掛鉤的函數;
將所述目標函數的偽指令替換為所述長跳轉指令,以跳轉到根據所述長跳轉指令申請的內存地址,并執行所述新函數;
在執行完所述新函數后,若確定需要繼續調用所述目標函數,則翻譯并執行所述偽指令;
在執行完偽指令后,寫入所述長跳轉,以實現跳回所述目標函數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司,未經北京奇虎科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711022177.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:處置器具
- 下一篇:一種學習信息的獲取方法及電子設備





