获取android应用程序指令流的方法、装置、设备及其存储介质制造方法及图纸

技术编号:33760204 阅读:13 留言:0更新日期:2022-06-12 14:09
本申请公开了一种获取android应用程序指令流的方法、装置、设备及其存储介质,该方法包括:接收用户输入的函数参数,并将所述函数参数发送给服务器;确定要截获的函数名称;找到compiled_code的入口;获取对应函数的指令信息。本申请提供的上述方案,通过找到compiled_code的入口获取对应函数的指令信息,从而就可以获取到android应用程序的指令流信息。以获取到android应用程序的指令流信息。以获取到android应用程序的指令流信息。

【技术实现步骤摘要】
获取android应用程序指令流的方法、装置、设备及其存储介质


[0001]本专利技术涉及计算机信息技术,具体涉及一种获取android应用程序指令流的方法、装置、设备及其存储介质。

技术介绍

[0002]Android的插桩工具应用较为普遍,例如epic就是专也的android插桩工具,该工具能运行时替换掉某个函数的执行,产生类似程序外挂的效果,例如微信抢红包,虚拟定位等。
[0003]Pin是基于x86架构的插桩工具,该工具能获取到应用程序函数对应的指令流信息,但是无法使用在arm架构上。而能够使用在arm上的插桩工具,例如dynamorio/epic虽然可以实现android应用程序的插桩,但是无法获取到应用程序的运行时指令流,即上述android插桩工具都没有办法获取到某个函数的指令流信息。

技术实现思路

[0004]鉴于现有技术中的上述缺陷或不足,期望提供一种获取android应用程序指令流的方法、装置、设备及其存储介质。
[0005]第一方面,本申请实施例提供了一种获取android应用程序指令流的方法,该方法包括:
[0006]接收用户输入的函数参数,并将所述函数参数发送给服务器;
[0007]确定要截获的函数名称;
[0008]找到compiled_code的入口;
[0009]获取对应函数的指令信息。
[0010]在其中一个实施例中,在所述接收用户输入的函数参数,并将所述函数参数发送给服务器之后,该方法还包括:
[0011]分析所述函数参数的类型。
[0012]在其中一个实施例中,所述找到compiled_code的入口,包括:
[0013]根据boot.oat文件在内存中的加载地址找到compiled_code的入口。
[0014]在其中一个实施例中,所述获取对应函数的指令信息,包括:
[0015]执行每个对应函数;
[0016]将每个对应函数与目标函数对比,若为目标函数,则获取该目标函数的指令流代码。
[0017]第二方面,本申请实施例还提供了一种获取android应用程序指令流的装置,该装置包括:
[0018]接收单元,用于接收用户输入的函数参数,并将所述函数参数发送给服务器;
[0019]确定单元,用于确定要截获的函数名称;
[0020]查找单元,用于找到compiled_code的入口;
[0021]获取单元,用于获取对应函数的指令信息。
[0022]在其中一个实施例中,在所述接收用户输入的函数参数,并将所述函数参数发送给服务器之后,该装置还包括:
[0023]分析单元,用于分析所述函数参数的类型。
[0024]在其中一个实施例中,所述找到compiled_code的入口,包括:
[0025]根据boot.oat文件在内存中的加载地址找到compiled_code的入口。
[0026]在其中一个实施例中,所述获取对应函数的指令信息,包括:
[0027]执行单元,用于执行每个对应函数;
[0028]对比单元,用于将每个对应函数与目标函数对比,若为目标函数,则获取该目标函数的指令流代码。
[0029]第三方面,本申请实施例还提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本申请实施例描述中任一所述的方法。
[0030]第四方面,本申请实施例还提供了一种计算机设备一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于:所述计算机程序被处理器执行时实现如本申请实施例描述中任一所述的方法。
[0031]本专利技术的有益效果:
[0032]本专利技术提供的一种获取android应用程序指令流的方法,通过找到compiled_code的入口获取对应函数的指令信息,从而就可以获取到android应用程序的指令流信息。
附图说明
[0033]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0034]图1示出了本申请实施例提供的获取android应用程序指令流的方法的流程示意图;
[0035]图2示出了本申请又一实施例提供的获取android应用程序指令流的方法的流程示意图;
[0036]图3示出了根据本申请一个实施例的获取android应用程序指令流的装置300的示例性结构框图;
[0037]图4示出了本申请又一实施例的获取android应用程序指令流的装置400的示例性结构框图;
[0038]图5示出了适于用来实现本申请实施例的终端设备的计算机系统的结构示意图。
具体实施方式
[0039]为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术。但是本专利技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本专利技术内涵的情况下做类似改进,因此本专利技术不受下面公开的具体实施例的限制。
[0040]在本专利技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。
[0041]此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本专利技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0042]在本专利技术中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本专利技术中的具体含义。
[0043]在本专利技术中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种获取android应用程序指令流的方法,其特征在于,该方法包括:接收用户输入的函数参数,并将所述函数参数发送给服务器;确定要截获的函数名称;找到compiled_code的入口;获取对应函数的指令信息。2.根据权利要求1所述的获取android应用程序指令流的方法,其特征在于,在所述接收用户输入的函数参数,并将所述函数参数发送给服务器之后,该方法还包括:分析所述函数参数的类型。3.根据权利要求1所述的获取android应用程序指令流的方法,其特征在于,所述找到compiled_code的入口,包括:根据boot.oat文件在内存中的加载地址找到compiled_code的入口。4.根据权利要求1所述的获取android应用程序指令流的方法,其特征在于,所述获取对应函数的指令信息,包括:执行每个对应函数;将每个对应函数与目标函数对比,若为目标函数,则获取该目标函数的指令流代码。5.一种获取android应用程序指令流的装置,其特征在于,该装置包括:接收单元,用于接收用户输入的函数参数,并将所述函数参数发送给服务器;确定单元,用于确定要截获的函数名称;查找单元,用于找到compiled_code的入口;获取单...

【专利技术属性】
技术研发人员:曾经纬王倩楠喻之斌
申请(专利权)人:中国科学院深圳先进技术研究院
类型:发明
国别省市:

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

1