[发明专利]基于xposed框架对native层函数进行hook的方法、装置及电子装置有效
| 申请号: | 201811646111.4 | 申请日: | 2018-12-29 |
| 公开(公告)号: | CN109814948B | 公开(公告)日: | 2022-04-22 |
| 发明(设计)人: | 张振国;罗斌;熊超超 | 申请(专利权)人: | 奇安信安全技术(珠海)有限公司;奇安信科技集团股份有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445 |
| 代理公司: | 北京中强智尚知识产权代理有限公司 11448 | 代理人: | 黄耀威 |
| 地址: | 519085 广东省珠海市高新区唐家*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 xposed 框架 native 函数 进行 hook 方法 装置 电子 | ||
1.一种基于xposed框架对native层函数进行hook的方法,其特征在于,所述方法包括:
利用xposed框架的目标接口捕获应用被加载的时机;
利用所述目标接口获取被加载的所述应用的信息;
根据所述应用的信息判断所述应用是否为目标应用;
在所述应用被加载时,利用所述应用的类加载器反射查找用于加载so库的目标函数;
利用所述目标函数加载用于hook目标native层函数的目标so库;
所述目标so库在被加载之后,通过操作所述应用的内存,将got表中所述目标native层函数的地址替换为hook函数的地址。
2.根据权利要求1所述的方法,其特征在于,
在所述目标应用被加载时,利用所述目标应用的类加载器反射查找java.lang.system.load函数。
3.根据权利要求2所述的方法,其特征在于,所述应用的信息包括所述应用的apk包名,根据所述应用的信息判断所述应用是否为目标应用,包括:
利用所述应用的apk包名与所述目标应用的包名进行匹配,以判断所述应用是否为所述目标应用。
4.一种基于xposed框架对native层函数进行hook的装置,其特征在于,所述装置包括:
捕获模块,用于利用xposed框架的目标接口捕获应用被加载的时机;
查找模块,用于在所述应用被加载时,利用所述应用的类加载器反射查找用于加载so库的目标函数;
加载模块,用于利用所述目标函数加载用于hook目标native层函数的目标so库;
替换模块,用于所述目标so库在被加载之后,通过操作所述应用的内存,将got表中所述目标native层函数的地址替换为hook函数的地址;
获取模块,用于在利用所述应用的类加载器反射查找用于加载so库的目标函数之前,利用所述目标接口获取被加载的所述应用的信息;
判断模块,用于根据所述应用的信息判断所述应用是否为目标应用。
5.根据权利要求4所述的装置,其特征在于,
所述判断模块,还用于在所述目标应用被加载时,利用所述目标应用的类加载器反射查找java.lang.system.load函数。
6.根据权利要求5所述的装置,其特征在于,所述应用的信息包括所述应用的apk包名,所述判断模块包括:
匹配单元,用于利用所述应用的apk包名与所述目标应用的包名进行匹配,以判断所述应用是否为所述目标应用。
7.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至3任一项中所述的方法。
8.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至3任一项中所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奇安信安全技术(珠海)有限公司;奇安信科技集团股份有限公司,未经奇安信安全技术(珠海)有限公司;奇安信科技集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811646111.4/1.html,转载请声明来源钻瓜专利网。





