适用于Android系统的远程钩子设置方法、装置及电子设备制造方法及图纸

技术编号:24497194 阅读:29 留言:0更新日期:2020-06-13 03:30
本公开实施例中提供了一种适用于Android系统的远程钩子设置方法、装置及电子设备,属于安卓系统智能终端技术领域,该方法包括:利用系统接口ptrace,对远程进程pid进行附加操作,以获得进行远程钩子操作的本进程;通过获取本进程所对应的调用远程接口,注入拥有hook能力的so文件,所述so文件包含钩子函数;通过对所述so文件中的钩子函数进行调用,来实现针对Android系统的远程钩子操作。通过本公开的处理方案,能够对指定进程进行远程注入。

Remote hook setting method, device and electronic device for Android system

【技术实现步骤摘要】
适用于Android系统的远程钩子设置方法、装置及电子设备
本公开涉及安卓系统智能终端
,尤其涉及一种适用于Android系统的远程钩子设置方法、装置及电子设备。
技术介绍
在当前社会中,移动终端处处影响着人们的工作和生活。其安全性也越来越被人们所关注。尤其对于Android这种开源的移动系统,更容易被恶意程序分析和攻击。开发者花费大量的时间和工作在应用的安全方面,其中最为重要的就是:防止程序被恶意注入和hook。当开发者实现了程序的安全防护后,需要有实际的环境来验证防护是否有效。当前,Android系统常见的攻击框架有:xposed、fride和substrate,搭建这些框架环境并不轻松,有的显的臃肿、有的需要重新刷机,有的却被限制在特定的系统版本中。对于开发人员,拥有一个高效精小的hook程序越来越有必要。这样的hook程序一般需要以下功能:1)支持进程远程附加。2)支持进程注入so文件。3)支持hook系统的基本库函数。市场上一般只能找到仅支持注入功能的程序,还没有发现同时拥有程序注入和系统函数hook功能的程序。
技术实现思路
有鉴于此,本公开实施例提供一种适用于Android系统的远程钩子设置方法、装置及电子设备,以至少部分解决现有技术中存在的问题。第一方面,本公开实施例提供了一种适用于Android系统的远程钩子设置方法,包括:利用系统接口ptrace,对远程进程pid进行附加操作,以获得进行远程钩子操作的本进程;通过获取本进程所对应的调用远程接口,注入拥有hook能力的so文件,所述so文件包含钩子函数;通过对所述so文件中的钩子函数进行调用,来实现针对Android系统的远程钩子操作。根据本公开实施例的一种具体实现方式,所述利用系统接口ptrace,对远程进程pid进行附加操作,以获得进行远程钩子操作的本进程,包括:获取远程进程的pid进程号;基于所述pid进程号,获得进行远程钩子操作的本进程。根据本公开实施例的一种具体实现方式,所述通过获取本进程所对应的调用远程接口,注入拥有hook能力的so文件,包括:获取所述调用远程接口所对应的远程地址;基于所述远程地址,注入具有hook能力的so文件。根据本公开实施例的一种具体实现方式,所述获取所述调用远程接口所对应的远程地址,包括:获取本进程接口dlopen的地址local_addr;获取本进程系统库linker的入口地址local_handle;获取远程进程系统库linker的入口地址remote_handle;计算远程进程接口dlopoen的远程地址remote_addr,remote_addr=local_addr–local_handle+remote_handle。根据本公开实施例的一种具体实现方式,所述通过获取本进程所对应的调用远程接口,注入拥有hook能力的so文件,包括:利用所述远程地址remote_addr调用远程接口dlopen,注入拥有hook能力的so文件。根据本公开实施例的一种具体实现方式,所述通过对所述so文件中的钩子函数进行调用,来实现针对Android系统的远程钩子操作,包括:在so文件的入口函数中进行系统接口的hook操作。根据本公开实施例的一种具体实现方式,所述通过对所述so文件中的钩子函数进行调用,来实现针对Android系统的远程钩子操作,包括:在被hook的函数中增加日志信息,用以展示函数已被hook的效果。第二方面,本公开实施例提供了一种适用于Android系统的远程钩子设置装置,包括:附加模块,用于利用系统接口ptrace,对远程进程pid进行附加操作,以获得进行远程钩子操作的本进程;注入模块,用于通过获取本进程所对应的调用远程接口,注入拥有hook能力的so文件,所述so文件包含钩子函数;执行模块,用于通过对所述so文件中的钩子函数进行调用,来实现针对Android系统的远程钩子操作。第三方面,本公开实施例还提供了一种电子设备,该电子设备包括:至少一个处理器;以及,与该至少一个处理器通信连接的存储器;其中,该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行前述第一方面或第一方面的任一实现方式中的适用于Android系统的远程钩子设置方法。第四方面,本公开实施例还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述第一方面或第一方面的任一实现方式中的适用于Android系统的远程钩子设置方法。第五方面,本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,该计算机程序包括程序指令,当该程序指令被计算机执行时,使该计算机执行前述第一方面或第一方面的任一实现方式中的适用于Android系统的远程钩子设置方法。本公开实施例中的适用于Android系统的远程钩子设置方案,包括利用系统接口ptrace,对远程进程pid进行附加操作,以获得进行远程钩子操作的本进程;通过获取本进程所对应的调用远程接口,注入拥有hook能力的so文件,所述so文件包含钩子函数;通过对所述so文件中的钩子函数进行调用,来实现针对Android系统的远程钩子操作。本专利技术能够对指定进程进行注入,同时打开Android设备日志终端,观察hook相关的日志。附图说明为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本公开实施例提供的一种适用于Android系统的远程钩子设置方法的流程图;图2为本公开实施例提供的另一种适用于Android系统的远程钩子设置方法的流程图;图3为本公开实施例提供的一种适用于Android系统的远程钩子设置装置的结构示意图;图4为本公开实施例提供的电子设备示意图。具体实施方式下面结合附图对本公开实施例进行详细描述。以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例本文档来自技高网...

【技术保护点】
1.一种适用于Android系统的远程钩子设置方法,其特征在于,包括:/n利用系统接口ptrace,对远程进程pid进行附加操作,以获得进行远程钩子操作的本进程;/n通过获取本进程所对应的调用远程接口,注入拥有hook能力的so文件,所述so文件包含钩子函数;/n通过对所述so文件中的钩子函数进行调用,来实现针对Android系统的远程钩子操作。/n

【技术特征摘要】
1.一种适用于Android系统的远程钩子设置方法,其特征在于,包括:
利用系统接口ptrace,对远程进程pid进行附加操作,以获得进行远程钩子操作的本进程;
通过获取本进程所对应的调用远程接口,注入拥有hook能力的so文件,所述so文件包含钩子函数;
通过对所述so文件中的钩子函数进行调用,来实现针对Android系统的远程钩子操作。


2.根据权利要求1所述的方法,其特征在于,所述利用系统接口ptrace,对远程进程pid进行附加操作,以获得进行远程钩子操作的本进程,包括:
获取远程进程的pid进程号;
基于所述pid进程号,获得进行远程钩子操作的本进程。


3.根据权利要求1所述的方法,其特征在于,所述通过获取本进程所对应的调用远程接口,注入拥有hook能力的so文件,包括:
获取所述调用远程接口所对应的远程地址;
基于所述远程地址,注入具有hook能力的so文件。


4.根据权利要求3所述的方法,其特征在于,所述获取所述调用远程接口所对应的远程地址,包括:
获取本进程接口dlopen的地址local_addr;
获取本进程系统库linker的入口地址local_handle;
获取远程进程系统库linker的入口地址remote_handle;
计算远程进程接口dlopoen的远程地址remote_addr,
remote_addr=local_addr–local_handle+remote_handle。


5.根据权利要求4所述的方法,其特征在于,所述通过获取本进程所对应的调用远程接口,注入拥有hook能力的so文件,包括:
利...

【专利技术属性】
技术研发人员:耿鹏飞王志龙李东辉
申请(专利权)人:上海上讯信息技术股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1