本申请涉及计算机,尤其涉及一种混淆文件处理方法、电子设备、存储介质及程序产品。
背景技术:
1、随着计算机技术的发展,各种编程代码可以被安装在各种不同应用设备上,广泛应用于web、app和服务器开发。在代码应用时如果将编译后的代码包直接应用在服务器上,那么一旦服务器被黑、或者在上传代码包的过程中文件遭到泄露,不法分子很容易通过逆向工程获取源代码,推测代码逻辑,从而找到系统漏洞,进行攻击,所以对代码进行保护是业界的共识。目前,对代码保护的方式是通过混淆工具对代码进行混淆,生成存储有混淆前后代码映射关系的混淆文件。
2、混淆文件可用于在应用运行发生异常时在服务端解析定位具体问题代码所在。通常,是在应用(app)发生异常后,手动将混淆文件上传至服务端,这样不仅会浪费人工成本,而且影响定位问题的效率,用户使用体验不佳。
技术实现思路
1、本申请的多个方面提供一种混淆文件处理方法、电子设备、存储介质及程序产品,用以在获取混淆文件方面节省人工成本,进而提高基于混淆文件定位应用异常问题的效率,提升用户的使用体验。
2、本申请实施例提供一种混淆文件处理方法,应用于打包端,该方法包括:接收针对目标应用的安装包生成任务,安装包生成任务中至少包括目标应用的名称和版本信息;根据安装包生成任务,获取目标应用的源代码,并对目标应用的源代码进行编译,得到中间字节码文件;在安装包生成任务中包括混淆任务标记的情况下,根据混淆任务标记,对中间字节码文件进行混淆处理,得到目标应用的混淆文件;在安装包生成任务中包括上传任务标记的情况下,根据上传任务标记,调用预置的上传插件,获取混淆文件;将混淆文件、目标应用的名称和版本信息上传至服务端,以供服务端根据目标应用产生的异常堆栈信息和混淆文件对目标应用进行异常问题定位。
3、本申请另一实施例还提供另一种混淆文件处理方法,应用于服务端,该方法包括:接收打包端上传的至少一种应用在各种版本信息下的混淆文件,不同的版本信息对应有不同的混淆文件;混淆文件是在应用的安装包生成任务中包括混淆任务标记的情况下,根据混淆任务标记对应用的中间字节码文件进行混淆处理得到的;打包端是在生成每种应用在各种版本信息下的安装包文件的过程中生成对应的混淆文件并调用预置的上传插件上传对应混淆文件的;根据至少一种应用的名称和版本信息,对至少一种应用在各种版本信息下的混淆文件进行分类存储;接收目标终端设备发送的目标异常堆栈信息,目标异常堆栈信息是目标终端设备上的目标应用运行过程中发生异常情况时产生的堆栈信息,目标应用为至少一种应用中的任一应用;根据目标应用的名称和版本信息,在存储的混淆文件中,确定目标混淆文件;根据目标异常堆栈信息和目标混淆文件中的混淆信息,对目标应用进行异常问题定位。
4、本申请实施例还提供一种电子设备,该电子设备包括:存储器和处理器;存储器中存储有计算机程序,处理器与存储器耦合,用于执行计算机程序,以用于实现以上方法中的步骤。
5、本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时,致使处理器能够实现以上方法中的步骤。
6、本申请实施例还提供一种计算机程序产品,所述计算机程序产品包含计算机程序/指令,当所述计算机程序/指令被处理器执行时,致使所述处理器能够实现以上方法中的步骤。
7、在本申请实施例中,在打包端增加预置的上传插件,打包端在根据目标应用的安装包生成任务生成安装包的过程中,对目标应用的源代码进行编译得到编译后的中间字节码文件后,若安装包生成任务中包括混淆任务生成标记的情况下,得到目标应用的混淆文件,并在安装包任务中包括上传标记的情况下,调用上传插件,将混淆文件上传至服务端。一方面,通过预置的上传插件自动上传目标应用的混淆文件的方式代替了人工手动上传,节省了人工成本。另一方面,若打包任务中存在上传标记,则调用预置的上传插件上传生成的混淆文件,可以在混淆文件生成后及时上传混淆文件。
8、进一步,服务端在接收到至少一种应用在各种版本下的混淆文件后,基于至少一种应用的名称和版本信息对各种版本信息下的混淆文件进行分类存储;在接收到目标终端设备发送的目标异常堆栈信息后,可以根据目标异常堆栈信息和目标混淆文件中的混淆信息,对目标应用进行异常定位。其中,混淆文件是在对安装包打包过程中或打包结束后通过预置的上传插件上传至服务端的,而不是在目标应用出现异常后才上传至服务端的,可以节省目标应用异常后上传目标混淆文件的等待时间,可以提高定位问题的效率,提升用户的使用体验;另外,在服务端根据应用名称和版本信息对混淆文件进行分类存储,方便及时获取所需目标混淆文件,有利于进一步提高定位异常问题的效率。
1.一种混淆文件处理方法,其特征在于,应用于打包端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,还包括:
3.根据权利要求1所述的方法,其特征在于,根据所述安装包生成任务,获取所述目标应用的源代码,并对所述目标应用的源代码进行编译,得到中间字节码文件,包括:
4.根据权利要求1所述的方法,其特征在于,所述混淆任务标记包括多个子标记,所述多个子标记之间具有固定标记顺序,每个子标记按序分别对应有第一局部中间字节码,所述每个子标记对应的第一局部中间字节码之间具有原始执行顺序;
5.根据权利要求2所述的方法,其特征在于,调用预置的上传插件,获取所述混淆文件,包括:
6.根据权利要求1所述的方法,其特征在于,还包括:
7.一种混淆文件处理方法,其特征在于,应用于服务端,包括:
8.根据权利要求7所述的方法,其特征在于,接收打包端上传的至少一种应用在各种版本信息下的混淆文件,包括:
9.根据权利要求7所述的方法,其特征在于,接收目标终端设备发送的目标异常堆栈信息,包括:
10.根据权利要求9所述的方法,其特征在于,所述目标异常堆栈信息中至少包括已运行代码行及其混淆执行顺序和异常描述信息;
11.一种电子设备,其特征在于,包括:存储器和处理器;所述存储器中存储有计算机程序,所述处理器与所述存储器耦合,用于执行所述计算机程序,以用于实现权利要求1-6或7-10中任一项所述方法中的步骤。
12.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器能够实现权利要求1-6或7-10中任一项所述方法中的步骤。
13.一种计算机程序产品,其特征在于,所述计算机程序产品包含计算机程序/指令,当所述计算机程序/指令被处理器执行时,致使所述处理器能够实现权利要求1-6或7-10中任一项方法中的步骤。