[发明专利]基于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任一项中所述的方法。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奇安信安全技术(珠海)有限公司;奇安信科技集团股份有限公司,未经奇安信安全技术(珠海)有限公司;奇安信科技集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201811646111.4/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top