[發(fā)明專利]終端應(yīng)用的掛鉤方法及裝置在審
| 申請?zhí)枺?/td> | 201711015703.1 | 申請日: | 2017-10-26 |
| 公開(公告)號: | CN107943517A | 公開(公告)日: | 2018-04-20 |
| 發(fā)明(設(shè)計)人: | 易新;任太勝;劉洪凱 | 申請(專利權(quán))人: | 北京奇虎科技有限公司 |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30 |
| 代理公司: | 北京中強智尚知識產(chǎn)權(quán)代理有限公司11448 | 代理人: | 黃耀威 |
| 地址: | 100088 北京市西城區(qū)新*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 終端 應(yīng)用 掛鉤 方法 裝置 | ||
1.一種終端應(yīng)用的掛鉤方法,其特征在于,包括:
在移動終端的應(yīng)用調(diào)用目標(biāo)函數(shù)時,識別從所述目標(biāo)函數(shù)跳轉(zhuǎn)到新函數(shù)的短跳轉(zhuǎn)指令,所述新函數(shù)為待所述目標(biāo)函數(shù)掛鉤的函數(shù);
若所述短跳轉(zhuǎn)指令所跳轉(zhuǎn)的內(nèi)存范圍符合預(yù)設(shè)內(nèi)存范圍,則將所述目標(biāo)函數(shù)的機器碼指令替換為所述短跳轉(zhuǎn)指令,以跳轉(zhuǎn)到根據(jù)所述短跳轉(zhuǎn)指令申請的內(nèi)存地址,并執(zhí)行所述新函數(shù);
在執(zhí)行完所述新函數(shù)后,若確定需要繼續(xù)調(diào)用所述目標(biāo)函數(shù),則翻譯并執(zhí)行所述機器碼指令;
在執(zhí)行完所述機器碼指令后,寫入所述短跳轉(zhuǎn)指令,以實現(xiàn)跳回所述目標(biāo)函數(shù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述識別從所述目標(biāo)函數(shù)跳轉(zhuǎn)到新函數(shù)的短跳轉(zhuǎn)指令,具體包括:
若識別所述短跳轉(zhuǎn)指令為基于32位操作系統(tǒng)的b指令,則確定所述短跳轉(zhuǎn)指令為基于32位操作系統(tǒng)的arm短跳轉(zhuǎn)指令;
所述若所述短跳轉(zhuǎn)指令所跳轉(zhuǎn)的內(nèi)存范圍符合預(yù)設(shè)內(nèi)存范圍,則將所述目標(biāo)函數(shù)的機器碼指令替換為所述短跳轉(zhuǎn)指令,具體包括:
若所述arm短跳轉(zhuǎn)指令所跳轉(zhuǎn)的內(nèi)存范圍小于32M的內(nèi)存范圍,則將所述目標(biāo)函數(shù)的機器碼指令替換為所述arm短跳轉(zhuǎn)指令。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述識別從所述目標(biāo)函數(shù)跳轉(zhuǎn)到新函數(shù)的短跳轉(zhuǎn)指令,具體包括:
若識別所述短跳轉(zhuǎn)指令為基于32位操作系統(tǒng)的b.W指令,則確定所述短跳轉(zhuǎn)指令為基于32位操作系統(tǒng)的thumb短跳轉(zhuǎn)指令;
所述若所述短跳轉(zhuǎn)指令所跳轉(zhuǎn)的內(nèi)存范圍符合預(yù)設(shè)內(nèi)存范圍,則將所述目標(biāo)函數(shù)的機器碼指令替換為所述短跳轉(zhuǎn)指令,具體包括:
若所述thumb短跳轉(zhuǎn)指令所跳轉(zhuǎn)的內(nèi)存范圍小于16M的內(nèi)存范圍,則將所述目標(biāo)函數(shù)的機器碼指令替換為所述thumb短跳轉(zhuǎn)指令。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述識別從所述目標(biāo)函數(shù)跳轉(zhuǎn)到新函數(shù)的短跳轉(zhuǎn)指令,具體包括:
若識別所述短跳轉(zhuǎn)指令為基于64位操作系統(tǒng)的b指令,則確定所述短跳轉(zhuǎn)指令為基于64位操作系統(tǒng)的短跳轉(zhuǎn)指令;
所述若所述短跳轉(zhuǎn)指令所跳轉(zhuǎn)的內(nèi)存范圍符合預(yù)設(shè)內(nèi)存范圍,則將所述目標(biāo)函數(shù)的機器碼指令替換為所述短跳轉(zhuǎn)指令,具體包括:
若所述基于64位操作系統(tǒng)的短跳轉(zhuǎn)指令所跳轉(zhuǎn)的內(nèi)存范圍小于128M的內(nèi)存范圍,則將所述目標(biāo)函數(shù)的機器碼指令替換為所述基于64位操作系統(tǒng)的短跳轉(zhuǎn)指令。
5.一種終端應(yīng)用的掛鉤裝置,其特征在于,包括:
識別單元,用于在移動終端的應(yīng)用調(diào)用目標(biāo)函數(shù)時,識別從所述目標(biāo)函數(shù)跳轉(zhuǎn)到新函數(shù)的短跳轉(zhuǎn)指令,所述新函數(shù)為待所述目標(biāo)函數(shù)掛鉤的函數(shù);
替換單元,用于若所述識別單元識別的所述短跳轉(zhuǎn)指令所跳轉(zhuǎn)的內(nèi)存范圍符合預(yù)設(shè)內(nèi)存范圍,則將所述目標(biāo)函數(shù)的機器碼指令替換為所述短跳轉(zhuǎn)指令,以跳轉(zhuǎn)到根據(jù)所述短跳轉(zhuǎn)指令申請的內(nèi)存地址,并執(zhí)行所述新函數(shù);
翻譯單元,用于在執(zhí)行完所述新函數(shù)后,若確定需要繼續(xù)調(diào)用所述目標(biāo)函數(shù),則翻譯并執(zhí)行所述機器碼指令;
寫入單元,用于在執(zhí)行完所述機器碼指令后,寫入所述跳轉(zhuǎn)指令,以實現(xiàn)跳回所述目標(biāo)函數(shù)。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,
所述識別單元,具體用于若識別所述短跳轉(zhuǎn)指令為基于32位操作系統(tǒng)的b指令,則確定所述短跳轉(zhuǎn)指令為基于32位操作系統(tǒng)的arm短跳轉(zhuǎn)指令;
所述替換單元,具體用于若所述arm短跳轉(zhuǎn)指令所跳轉(zhuǎn)的內(nèi)存范圍小于32M的內(nèi)存范圍,則將所述目標(biāo)函數(shù)的機器碼指令替換為所述arm短跳轉(zhuǎn)指令。
7.根據(jù)權(quán)利要求5所述的裝置,其特征在于,
所述識別單元,具體用于若識別所述短跳轉(zhuǎn)指令為基于32位操作系統(tǒng)的b.W指令,則確定所述短跳轉(zhuǎn)指令為基于32位操作系統(tǒng)的thumb短跳轉(zhuǎn)指令;
所述替換單元,具體用于若所述thumb短跳轉(zhuǎn)指令所跳轉(zhuǎn)的內(nèi)存范圍小于16M的內(nèi)存范圍,則將所述目標(biāo)函數(shù)的機器碼指令替換為所述thumb短跳轉(zhuǎn)指令。
8.根據(jù)權(quán)利要求5所述的裝置,其特征在于,
所述識別單元,具體用于若識別所述短跳轉(zhuǎn)指令為基于64位操作系統(tǒng)的b指令,則確定所述短跳轉(zhuǎn)指令為基于64位操作系統(tǒng)的短跳轉(zhuǎn)指令;
所述替換單元,具體用于若所述基于64位操作系統(tǒng)的短跳轉(zhuǎn)指令所跳轉(zhuǎn)的內(nèi)存范圍小于128M的內(nèi)存范圍,則將所述目標(biāo)函數(shù)的機器碼指令替換為所述短跳轉(zhuǎn)指令。
該專利技術(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/201711015703.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 在線應(yīng)用平臺上應(yīng)用間通信的回調(diào)應(yīng)答方法、應(yīng)用及在線應(yīng)用平臺
- 應(yīng)用使用方法、應(yīng)用使用裝置及相應(yīng)的應(yīng)用終端
- 應(yīng)用管理設(shè)備、應(yīng)用管理系統(tǒng)、以及應(yīng)用管理方法
- 能力應(yīng)用系統(tǒng)及其能力應(yīng)用方法
- 應(yīng)用市場的應(yīng)用搜索方法、系統(tǒng)及應(yīng)用市場
- 使用應(yīng)用的方法和應(yīng)用平臺
- 應(yīng)用安裝方法和應(yīng)用安裝系統(tǒng)
- 使用遠程應(yīng)用進行應(yīng)用安裝
- 應(yīng)用檢測方法及應(yīng)用檢測裝置
- 應(yīng)用調(diào)用方法、應(yīng)用發(fā)布方法及應(yīng)用發(fā)布系統(tǒng)





