The invention provides a method, device and electronic device for hooking native layer functions based on xposed framework, which includes: a method for hooking native layer functions based on xposed framework, including: capturing the time when an application is loaded by using the target interface of xposed framework; and searching for the so library by using the reflection of the class loader of the application when the application is loaded Objective function; target so library for hook target native layer function is loaded by objective function. The invention solves the technical problem that the xposed framework can not hook in the native layer in the prior art, and improves the problem of insufficient compatibility and stability of hook technology for the native layer in Android system.
【技术实现步骤摘要】
基于xposed框架对native层函数进行hook的方法、装置及电子装置
本专利技术涉及计算机
,具体而言,涉及一种基于xposed框架对native层函数进行hook的方法、装置及电子装置。
技术介绍
现有技术中,安卓的hook技术有Plt-Got替换hook技术、Xposed框架hook技术和substrate等native层内联hook框架。其中,Plt-Got替换hook技术由于对应用内存直接操作,只适用于hook应用自身native层函数,并不适用对全局(安卓系统中全部应用)的hook;Xposed框架仅在Java层hook,缺少native层hook的相关功能;而substrate等native层内联hook框架则兼容性、稳定性不高。相比较pc端的hook技术,安卓的hook技术还不够成熟,难以兼顾控制范围、稳定性和兼容性。针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
技术实现思路
本专利技术实施例提供了一种基于xposed框架对native层函数进行hook的方法、装置及电子装置,以至少解决现有技术中xposed框架无法在native层hook的技术问题。根据本专利技术的一个实施例,提供了一种基于xposed框架对native层函数进行hook的方法,包括:利用xposed框架的目标接口捕获应用被加载的时机;在应用被加载时,利用应用的类加载器反射查找用于加载so库的目标函数;利用目标函数加载用于hook目标native层函数的目标so库。进一步地,应用的信息包括应用的apk包名,根据应用的信息判断应用是否为目标应用,包括:利 ...
【技术保护点】
1.一种基于xposed框架对native层函数进行hook的方法,其特征在于,所述方法包括:利用xposed框架的目标接口捕获应用被加载的时机;在所述应用被加载时,利用所述应用的类加载器反射查找用于加载so库的目标函数;利用所述目标函数加载用于hook目标native层函数的目标so库。
【技术特征摘要】
1.一种基于xposed框架对native层函数进行hook的方法,其特征在于,所述方法包括:利用xposed框架的目标接口捕获应用被加载的时机;在所述应用被加载时,利用所述应用的类加载器反射查找用于加载so库的目标函数;利用所述目标函数加载用于hook目标native层函数的目标so库。2.根据权利要求1所述的方法,其特征在于,所述目标so库在被加载之后,通过操作所述应用的内存,将got表中所述目标native层函数的地址替换为hook函数的地址。3.根据权利要求1所述的方法,其特征在于,在利用所述应用的类加载器反射查找用于加载so库的目标函数之前,所述方法还包括:利用所述目标接口获取被加载的所述应用的信息;根据所述应用的信息判断所述应用是否为目标应用,其中,在所述目标应用被加载时,利用所述目标应用的类加载器反射查找java.lang.system.load函数。4.根据权利要求3所述的方法,其特征在于,所述应用的信息包括所述应用的apk包名,根据所述应用的信息判断所述应用是否为目标应用,包括:利用所述应用的apk包名与所述目标应用的包名进行匹配,以判断所述应用是否为所述目标应用。5.一种基于xposed框架对native层函数进行hook的装置,其特征在于,所述装置包括:捕获模块,用于利用xposed框架的目标接口捕获应用被加载的时机;查找模块,用于在所述应用被...
【专利技术属性】
技术研发人员:张振国,罗斌,熊超超,
申请(专利权)人:三六零企业安全技术珠海有限公司,北京奇安信科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。