[发明专利]终端应用的挂钩方法及装置在审
申请号: | 201711015703.1 | 申请日: | 2017-10-26 |
公开(公告)号: | CN107943517A | 公开(公告)日: | 2018-04-20 |
发明(设计)人: | 易新;任太胜;刘洪凯 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京中强智尚知识产权代理有限公司11448 | 代理人: | 黄耀威 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 终端 应用 挂钩 方法 装置 | ||
1.一种终端应用的挂钩方法,其特征在于,包括:
在移动终端的应用调用目标函数时,识别从所述目标函数跳转到新函数的短跳转指令,所述新函数为待所述目标函数挂钩的函数;
若所述短跳转指令所跳转的内存范围符合预设内存范围,则将所述目标函数的机器码指令替换为所述短跳转指令,以跳转到根据所述短跳转指令申请的内存地址,并执行所述新函数;
在执行完所述新函数后,若确定需要继续调用所述目标函数,则翻译并执行所述机器码指令;
在执行完所述机器码指令后,写入所述短跳转指令,以实现跳回所述目标函数。
2.根据权利要求1所述的方法,其特征在于,所述识别从所述目标函数跳转到新函数的短跳转指令,具体包括:
若识别所述短跳转指令为基于32位操作系统的b指令,则确定所述短跳转指令为基于32位操作系统的arm短跳转指令;
所述若所述短跳转指令所跳转的内存范围符合预设内存范围,则将所述目标函数的机器码指令替换为所述短跳转指令,具体包括:
若所述arm短跳转指令所跳转的内存范围小于32M的内存范围,则将所述目标函数的机器码指令替换为所述arm短跳转指令。
3.根据权利要求1所述的方法,其特征在于,所述识别从所述目标函数跳转到新函数的短跳转指令,具体包括:
若识别所述短跳转指令为基于32位操作系统的b.W指令,则确定所述短跳转指令为基于32位操作系统的thumb短跳转指令;
所述若所述短跳转指令所跳转的内存范围符合预设内存范围,则将所述目标函数的机器码指令替换为所述短跳转指令,具体包括:
若所述thumb短跳转指令所跳转的内存范围小于16M的内存范围,则将所述目标函数的机器码指令替换为所述thumb短跳转指令。
4.根据权利要求1所述的方法,其特征在于,所述识别从所述目标函数跳转到新函数的短跳转指令,具体包括:
若识别所述短跳转指令为基于64位操作系统的b指令,则确定所述短跳转指令为基于64位操作系统的短跳转指令;
所述若所述短跳转指令所跳转的内存范围符合预设内存范围,则将所述目标函数的机器码指令替换为所述短跳转指令,具体包括:
若所述基于64位操作系统的短跳转指令所跳转的内存范围小于128M的内存范围,则将所述目标函数的机器码指令替换为所述基于64位操作系统的短跳转指令。
5.一种终端应用的挂钩装置,其特征在于,包括:
识别单元,用于在移动终端的应用调用目标函数时,识别从所述目标函数跳转到新函数的短跳转指令,所述新函数为待所述目标函数挂钩的函数;
替换单元,用于若所述识别单元识别的所述短跳转指令所跳转的内存范围符合预设内存范围,则将所述目标函数的机器码指令替换为所述短跳转指令,以跳转到根据所述短跳转指令申请的内存地址,并执行所述新函数;
翻译单元,用于在执行完所述新函数后,若确定需要继续调用所述目标函数,则翻译并执行所述机器码指令;
写入单元,用于在执行完所述机器码指令后,写入所述跳转指令,以实现跳回所述目标函数。
6.根据权利要求5所述的装置,其特征在于,
所述识别单元,具体用于若识别所述短跳转指令为基于32位操作系统的b指令,则确定所述短跳转指令为基于32位操作系统的arm短跳转指令;
所述替换单元,具体用于若所述arm短跳转指令所跳转的内存范围小于32M的内存范围,则将所述目标函数的机器码指令替换为所述arm短跳转指令。
7.根据权利要求5所述的装置,其特征在于,
所述识别单元,具体用于若识别所述短跳转指令为基于32位操作系统的b.W指令,则确定所述短跳转指令为基于32位操作系统的thumb短跳转指令;
所述替换单元,具体用于若所述thumb短跳转指令所跳转的内存范围小于16M的内存范围,则将所述目标函数的机器码指令替换为所述thumb短跳转指令。
8.根据权利要求5所述的装置,其特征在于,
所述识别单元,具体用于若识别所述短跳转指令为基于64位操作系统的b指令,则确定所述短跳转指令为基于64位操作系统的短跳转指令;
所述替换单元,具体用于若所述基于64位操作系统的短跳转指令所跳转的内存范围小于128M的内存范围,则将所述目标函数的机器码指令替换为所述短跳转指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711015703.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于LLVM的克隆代码检测方法
- 下一篇:一种局部跳转指令取指电路