函数调用方法、装置、设备及存储介质制造方法及图纸

技术编号:35569802 阅读:10 留言:0更新日期:2022-11-12 15:53
本发明专利技术公开了一种函数调用方法、装置、设备及存储介质,属于hook技术领域,所述方法包括:在检测到目标程序启动时,加载hook组件,所述目标程序为在操作系统启动后,启动孵化器进程进行孵化并注入代码的程序,通过所述hook组件执行hook函数调用目标函数。本发明专利技术可以通过无特征的hook框架,避免被程序检测,能够达到更好的hook效果。更好的hook效果。更好的hook效果。

【技术实现步骤摘要】
函数调用方法、装置、设备及存储介质


[0001]本专利技术涉及hook
,尤其涉及一种函数调用方法、装置、设备及存储介质。

技术介绍

[0002]进行android逆向分析时,通常会用xposed、frida等hook框架进行逆向分析。但是常见的hook框架会被部分app进行检测,一旦发现就无法正常使用,影响app的逆向分析工作。

技术实现思路

[0003]本专利技术的主要目的在于提出一种函数调用方法、装置、设备及存储介质,旨在解决如何在对程序进行hook时避免被检测,以达到更好的hook效果的技术问题。
[0004]为实现上述目的,本专利技术实施例提供一种函数调用方法,所述函数调用方法包括:
[0005]在检测到目标程序启动时,加载hook组件,所述目标程序为在操作系统启动后,启动孵化器进程进行孵化并注入代码的程序;
[0006]通过所述hook组件执行hook函数调用目标函数。
[0007]可选地,所述hook组件包括:第一hook文件和第二hook文件;
[0008]所述通过所述hook组件执行hook函数调用目标函数,包括:
[0009]通过所述第一hook文件和所述第二hook文件执行hook函数调用目标函数。
[0010]可选地,所述第一hook文件为dex文件,所述第二hook文件为so文件;
[0011]所述通过所述第一hook文件和所述第二hook文件执行hook函数调用目标函数,包括:
[0012]在所述第一hook文件执行时,加载所述第二hook文件;
[0013]通过所述第二hook文件执行hook函数调用目标函数。
[0014]可选地,所述通过所述第二hook文件执行hook函数调用目标函数,包括:
[0015]通过所述第二hook文件对所述目标程序中的类中的函数进行重定义,跳转执行所述第一hook文件中的hook函数;
[0016]通过所述hook函数调用目标函数。
[0017]可选地,所述通过所述hook组件执行hook函数调用目标函数,包括:
[0018]在检测到点击按钮指令时,通过所述hook组件执行hook函数调用目标函数。
[0019]可选地,所述在检测到目标程序启动时,加载hook组件,包括:
[0020]在检测到目标程序启动时,调用加载文件;
[0021]通过所述加载文件中的预设字段加载hook组件。
[0022]可选地,所述在检测到目标程序启动时,加载hook组件之前,还包括:
[0023]在操作系统启动后,启动孵化器进程进行程序孵化;
[0024]在孵化出目标程序时,对所述目标程序进行代码注入。
[0025]可选地,所述在孵化出目标程序时,对所述目标程序进行代码注入,包括:
[0026]在孵化出目标程序时,调用注入程序;
[0027]通过所述注入程序对目标程序进行代码注入。
[0028]可选地,所述通过所述hook组件执行hook函数调用目标函数之前,还包括:
[0029]在接收到编写指令时,根据所述编写指令确定hook信息;
[0030]根据所述hook信息得到hook组件。
[0031]可选地,所述根据所述hook信息得到hook组件,包括:
[0032]根据所述hook信息生成第一hook文件;
[0033]为所述第一hook文件配置对应的第二hook文件;
[0034]根据所述第一hook文件和所述第二hook文件得到hook组件。
[0035]此外,为实现上述目的,本专利技术实施例还提出一种函数调用装置,所述函数调用装置包括:
[0036]组件加载模块,用于在检测到目标程序启动时,加载hook组件,所述目标程序为在操作系统启动后,启动孵化器进程进行孵化并注入代码的程序;
[0037]函数调用模块,用于通过所述hook组件执行hook函数调用目标函数。
[0038]可选地,所述hook组件包括:第一hook文件和第二hook文件;
[0039]所述函数调用模块,还用于通过所述第一hook文件和所述第二hook文件执行hook函数调用目标函数。
[0040]可选地,所述第一hook文件为dex文件,所述第二hook文件为so文件;
[0041]所述函数调用模块,还用于在所述第一hook文件执行时,加载所述第二hook文件;通过所述第二hook文件执行hook函数调用目标函数。
[0042]可选地,所述函数调用模块,还用于通过所述第二hook文件对所述目标程序中的类中的函数进行重定义,跳转执行所述第一hook文件中的hook函数;通过所述hook函数调用目标函数。
[0043]可选地,所述函数调用模块,还用于在检测到点击按钮指令时,通过所述hook组件执行hook函数调用目标函数。
[0044]可选地,所述组件加载模块,还用于在检测到目标程序启动时,调用加载文件;通过所述加载文件中的预设字段加载hook组件。
[0045]可选地,所述函数调用装置,还包括:
[0046]程序孵化模块,用于在操作系统启动后,启动孵化器进程进行程序孵化;在孵化出目标程序时,对所述目标程序进行代码注入。
[0047]可选地,所述程序孵化模块,还用于在孵化出目标程序时,调用注入程序;通过所述注入程序对目标程序进行代码注入。
[0048]此外,为实现上述目的,本专利技术实施例还提出一种函数调用设备,所述函数调用设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的函数调用程序,所述函数调用程序被处理器执行时实现如上所述的函数调用方法。
[0049]此外,为实现上述目的,本专利技术实施例还提出一种存储介质,所述存储介质上存储有函数调用程序,所述函数调用程序被处理器执行时实现如上所述的函数调用方法。
[0050]本专利技术实施例提出的函数调用方法中,在检测到目标程序启动时,加载hook组件,所述目标程序为在操作系统启动后,启动孵化器进程进行孵化并注入代码的程序,通过所
述hook组件执行hook函数调用目标函数。本实施例的方案可以通过无特征的hook框架,避免被程序检测,能够达到更好的hook效果。
附图说明
[0051]图1是本专利技术实施例方案涉及的硬件运行环境的函数调用设备结构示意图;
[0052]图2为本专利技术函数调用方法第一实施例的流程示意图;
[0053]图3为本专利技术函数调用方法一实施例的原函数执行流程示意图;
[0054]图4为本专利技术函数调用方法一实施例的注入app流程示意图;
[0055]图5为本专利技术函数调用方法一实施例的注入zygote流程示意图;
[0056]图6为本专利技术函数调用方法第二实施例的流程示意图;
[0057]图7为本专利技术函数调用方法第三实施例的流程示意图;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种函数调用方法,其特征在于,所述函数调用方法包括:在检测到目标程序启动时,加载hook组件,所述目标程序为在操作系统启动后,启动孵化器进程进行孵化并注入代码的程序;通过所述hook组件执行hook函数调用目标函数。2.如权利要求1所述的函数调用方法,其特征在于,所述hook组件包括:第一hook文件和第二hook文件;所述通过所述hook组件执行hook函数调用目标函数,包括:通过所述第一hook文件和所述第二hook文件执行hook函数调用目标函数。3.如权利要求2所述的函数调用方法,其特征在于,所述第一hook文件为dex文件,所述第二hook文件为so文件;所述通过所述第一hook文件和所述第二hook文件执行hook函数调用目标函数,包括:在所述第一hook文件执行时,加载所述第二hook文件;通过所述第二hook文件执行hook函数调用目标函数。4.如权利要求3所述的函数调用方法,其特征在于,所述通过所述第二hook文件执行hook函数调用目标函数,包括:通过所述第二hook文件对所述目标程序中的类中的函数进行重定义,跳转执行所述第一hook文件中的hook函数;通过所述hook函数调用目标函数。5.如权利要求1所述的函数调用方法,其特征在于,所述通过所述hook组件执行hook函数调...

【专利技术属性】
技术研发人员:杨苗徐名扬周永海
申请(专利权)人:三六零科技集团有限公司
类型:发明
国别省市:

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

1