一种基于注入调试的小程序合规沙箱测试方法技术

技术编号:39439361 阅读:31 留言:0更新日期:2023-11-19 16:22
本发明专利技术公开了一种基于注入调试的小程序合规沙箱测试方法,该方法应用于基于注入调试的小程序合规沙箱测试系统,所述系统至少包括小程序框架、自动化工具和沙箱工具,所述自动化工具包含注入工具、UI遍历单元和行为分析单元,所述小程序框架内部署有渲染层和逻辑层,所述沙箱工具包括调试开启模块和JS Hook工具。本发明专利技术属于软件测试技术领域,具体是提供了一种基于注入调试的小程序合规沙箱测试方法,通过对小程序框架运行时进行代码注入,开启远程调试,并注入小程序Hook代码,实现了多款小程序框架的行为沙箱。款小程序框架的行为沙箱。款小程序框架的行为沙箱。

【技术实现步骤摘要】
一种基于注入调试的小程序合规沙箱测试方法


[0001]本专利技术属于软件测试
,具体是指一种基于注入调试的小程序合规沙箱测试方法。

技术介绍

[0002]目前流行的小程序框架,大多都是闭源的商业产品(比如微信、支付宝、快应用等),这意味着除了小程序框架的开发商之外,第三方无法实现通过二次开发小程序框架的代码来对小程序进行安全检测、合规检测等自动化测试。
[0003]许多框架开发商并不提供支持此类功能,部分框架开发商提供的检测服务只能对自身平台上的小程序提供服务,并且通常只能为开发者所属的小程序,或使用源码进行测试。而对于开发者或第三方机构,存在对多端小程序测试的需求,或并不具备测试的条件。

技术实现思路

[0004]针对上述情况,为克服现有技术的缺陷,本专利技术提供了一种基于注入调试的小程序合规沙箱测试方法,通过对小程序框架运行时进行代码注入,开启远程调试,并注入小程序Hook代码,实现了多款小程序框架的行为沙箱。基于注入调试的小程序行为沙箱技术,弥补了上述现有技术中的这些缺口。
[0005]本专利技术采取的技术方案如下:本专利技术一种基于注入调试的小程序合规沙箱测试方法,包括以下步骤:
[0006]步骤S1:在Android端向小程序框架宿主程序注入Agent程序;
[0007]步骤S2:Agent程序主动调用小程序内核的远程调试开关,开启远程调试;
[0008]步骤S3:沙箱工具通过远程调试协议与小程序渲染层进行交互(自动化界面分析、遍历);
[0009]步骤S4:Agent向小程序逻辑层注入JS Hook代码(调试数据代码);
[0010]步骤S5:JS Hook用于监控小程序应用对小程序框架API(例如文件API、网络API等)的调用情况,并将具体信息(调用参数、时间、返回值等)回调给Agent;
[0011]步骤S6:Agent收集小程序行为并反馈给其他后端系统进行分析处理。
[0012]作为进一步阐述的方案,所述JS Hook工具的工作过程包括如下步骤:
[0013]步骤1:备份原JS函数;
[0014]步骤2:小程序应用在调用API时会进入被hook的函数,重新定义目标函数;
[0015]步骤3:随后记录调用信息(参数/时间等);
[0016]步骤4:调用原备份函数,然后记录原函数返回值,随后回调调用信息/返回值给Agent程序;
[0017]步骤5:最后返回原函数返回值。
[0018]进一步地,所述方法应用于基于注入调试的小程序合规沙箱测试系统,所述系统至少包括小程序框架、自动化工具和沙箱工具,所述自动化工具包含注入工具、UI遍历单元
和行为分析单元,所述小程序框架内部署有渲染层和逻辑层,所述沙箱工具包括调试开启模块和JS Hook工具;
[0019]所述注入工具用于向小程序框架注入Agent程序;
[0020]所述调试开启模块开启渲染层远程调试;
[0021]所述UI遍历单元与渲染层通过调试协议通信;
[0022]所述JS Hook工具向逻辑层注入JS Hook代码(待调试数据代码)监控逻辑层API调用,使得所述逻辑层对数据信息进行调试,所述JS Hook工具将监控结果回调给自动化工具的行为分析单元,并对之进行行为分析处理。
[0023]本方案一种基于注入调试的小程序合规沙箱测试方法,采用上述方案本专利技术取得的有益效果如下:
[0024]1、解决了目前技术无法通过在没有小程序框架源码或小程序源码的情况下进行对小程序的行为进行监控和分析的问题,本技术通过代码注入和远程调试,实现可以在没有任一源码的情况下对线上小程序进行行为监控与分析。
[0025]2、通过在Android端上对小程序平台的宿主程序进行注入,主动调用小程序框架内核的远程调试开关,并在逻辑层中注入JS Hook代码来监控小程序的API调用,实现了多款小程序框架的行为沙箱。
附图说明
[0026]图1为本专利技术所提供的一种基于注入调试的小程序合规沙箱测试方法的整体框架示意图;
[0027]图2为本专利技术所提供的一种基于注入调试的小程序合规沙箱测试方法的实现流程示意图。
[0028]附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。
具体实施方式
[0029]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例;基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0030]如图1

2所示,本专利技术一种基于注入调试的小程序合规沙箱测试方法,包括以下步骤:
[0031]步骤S1:在Android端向小程序框架宿主程序注入Agent程序;
[0032]步骤S2:Agent程序主动调用小程序内核的远程调试开关,开启远程调试;
[0033]步骤S3:沙箱工具通过远程调试协议与小程序渲染层进行交互(自动化界面分析、遍历);
[0034]步骤S4:Agent向小程序逻辑层注入JS Hook代码(调试数据代码);
[0035]步骤S5:JS Hook用于监控小程序应用对小程序框架API(例如文件API、网络API等)的调用情况,并将具体信息(调用参数、时间、返回值等)回调给Agent;
[0036]步骤S6:Agent收集小程序行为并反馈给其他后端系统进行分析处理。
[0037]进一步方案中,所述方法应用于基于注入调试的小程序合规沙箱测试系统,所述系统至少包括小程序框架、自动化工具和沙箱工具,所述自动化工具包含注入工具、UI遍历单元和行为分析单元,所述小程序框架内部署有渲染层和逻辑层,所述沙箱工具包括调试开启模块和JS Hook工具;
[0038]所述注入工具用于向小程序框架注入Agent程序;
[0039]所述调试开启模块开启渲染层远程调试;
[0040]所述UI遍历单元与渲染层通过调试协议通信;
[0041]所述JS Hook工具向逻辑层注入JS Hook代码(待调试数据代码)监控逻辑层API调用,使得所述逻辑层对数据信息进行调试,所述JS Hook工具将监控结果回调给自动化工具的行为分析单元,并对之进行行为分析处理。
[0042]其中,所述JS Hook工具的工作过程包括如下步骤:
[0043]步骤1:备份原JS函数;
[0044]步骤2:小程序应用在调用API时会进入被hook的函数,重新定义目标函数;
[0045]步骤3:随后记录调用信息(参数/时间等);
[0046]步骤4:调用原备份函数,然后记录原函数返回值,随后回调调用信息/返回值给Agent程序;
[0047]步本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于注入调试的小程序合规沙箱测试方法,其特征在于,包括以下步骤:步骤S1:在Android端向小程序框架宿主程序注入Agent程序;步骤S2:Agent程序主动调用小程序内核的远程调试开关,开启远程调试;步骤S3:沙箱工具通过远程调试协议与小程序渲染层进行交互;步骤S4:Agent向小程序逻辑层注入调试数据代码;步骤S5:调试数据代码用于监控小程序应用对小程序框架API的调用情况,并将具体信息回调给Agent;步骤S6:Agent收集小程序行为并反馈给其他后端系统进行分析处理。2.根据权利要求1所述的一种基于注入调试的小程序合规沙箱测试方法,其特征在于:所述步骤S4中的调试数据代码为JS Hook代码。3.根据权利要求2所述的一种基于注入调试的小程序合规沙箱测试方法,其特征在于:所述步骤S5中的具体信息包括调用参数、时间、返回值。4.根据权利要求3所述的一种基于注入调试的小程序合规沙箱测试方法,其特征在于:所述方法应用于基于注入调试的小程序合规沙箱测试系统,所述系统至少包括...

【专利技术属性】
技术研发人员:曾梓铭严智慧田术旺
申请(专利权)人:深圳爱加密科技有限公司
类型:发明
国别省市:

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

1