[發明專利]終端應用的掛鉤方法及裝置有效
| 申請號: | 201711022165.9 | 申請日: | 2017-10-26 |
| 公開(公告)號: | CN107885529B | 公開(公告)日: | 2021-06-22 |
| 發明(設計)人: | 易新;任太勝;劉洪凱 | 申請(專利權)人: | 北京奇虎科技有限公司 |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30 |
| 代理公司: | 北京律誠同業知識產權代理有限公司 11006 | 代理人: | 王玉雙 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 終端 應用 掛鉤 方法 裝置 | ||
1.一種終端應用的掛鉤方法,其特征在于,包括:
在移動終端的應用調用目標函數時,識別從所述目標函數跳轉到新函數的跳轉指令是否為基于32位操作系統的短跳轉指令,或者是否為基于64位操作系統的短跳轉指令,所述新函數為待所述目標函數掛鉤的函數;
若為基于32位操作系統的短跳轉指令,則優先利用32位短跳轉策略實現掛鉤所述新函數;
在利用所述32位短跳轉策略掛鉤失敗后,利用32位長跳轉策略實現掛鉤所述新函數;
若基于64位操作系統的短跳轉指令,則利用64位短跳轉策略實現掛鉤所述新函數;
其中,所述優先利用32位短跳轉策略實現掛鉤所述新函數,具體包括:
將所述目標函數的前4個字節指令替換為所述基于32位操作系統的短跳轉指令,以跳轉到為所述基于32位操作系統的短跳轉指令申請的內存地址,并執行所述新函數;
在執行完所述新函數后,若確定需要繼續調用所述目標函數,則翻譯并執行所述前4個字節指令;
在執行完所述前4個字節指令后,跳回所述目標函數。
2.根據權利要求1所述的方法,其特征在于,所述識別從所述目標函數跳轉到新函數的跳轉指令是否為基于32位操作系統的短跳轉指令,具體包括:
識別從所述目標函數跳轉到新函數的跳轉指令是否為基于32位操作系統的跳轉指令;
根據所述目標函數地址為所述跳轉指令申請內存;
若為基于32位操作系統的跳轉指令,則確定申請的內存是否符合第一短跳轉范圍;
若符合第一短跳轉范圍,則確定所述基于32位操作系統的跳轉指令為基于32位操作系統的短跳轉指令。
3.根據權利要求1所述的方法,其特征在于,所述識別從所述目標函數跳轉到新函數的跳轉指令是否為基于64位操作系統的短跳轉指令,具體包括:
識別從所述目標函數跳轉到新函數的跳轉指令是否為基于64位操作系統的跳轉指令;
若為基于64位操作系統的跳轉指令,則確定申請的內存是否符合第二短跳轉范圍;
若符合第二短跳轉范圍,則確定所述基于64位操作系統的跳轉指令為基于64位操作系統的短跳轉指令。
4.根據權利要求1所述的方法,其特征在于,所述將所述目標函數的前4個字節指令替換為所述基于32位操作系統的短跳轉指令,具體包括:
識別所述基于32位操作系統的短跳轉指令是否為Thumb短跳轉指令;
若為Thumb短跳轉指令,則采用預設自解析原則,將所述目標函數的前4個字節指令替換為的Thumb短跳轉指令。
5.根據權利要求1所述的方法,其特征在于,所述在利用所述32位短跳轉策略掛鉤失敗后,利用32位長跳轉策略掛鉤所述新函數,具體包括:
將所述跳轉指令確定為基于32位操作系統的長跳轉指令;
將所述目標函數的前8個字節指令替換為所述基于32位操作系統的長跳轉指令,以跳轉到為所述基于32位操作系統的長跳轉指令申請的內存地址,并執行所述新函數;
在執行完所述新函數后,若確定需要繼續調用所述目標函數,則翻譯并執行所述前8個字節指令;
在執行完所述前8個字節指令后,跳回所述目標函數。
6.根據權利要求1所述的方法,其特征在于,所述利用64位短跳轉策略實現掛鉤所述新函數,具體包括:
將所述目標函數的前4個字節指令替換為所述基于64位操作系統的短跳轉指令,以跳轉到為所述基于64位操作系統的短跳轉指令申請的內存地址,并執行所述新函數;
在執行完所述新函數后,若確定需要繼續調用所述目標函數,則翻譯并執行所述前4個字節指令;
在執行完所述前4個字節指令后,跳回所述目標函數。
7.根據權利要求1或6所述的方法,其特征在于,所述方法還包括:
執行自定義的匯編代碼,以實現所述匯編代碼對應的功能;
在執行完匯編代碼后,翻譯并執行所述前4個字節指令;
在執行完所述前4個字節指令后,跳回所述目標函數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司,未經北京奇虎科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711022165.9/1.html,轉載請聲明來源鉆瓜專利網。





