The invention relates to a data processing method, a device, an electronic device and a storage medium, belonging to the technical field of data processing. The data processing method includes: compiling the source code with tags to obtain tagged tagged code; obtaining performance data representing the performance of the source code based on the tagged code, wherein the performance data includes: the running time of each objective function; based on the performance data and the preset and The configuration file corresponding to the performance data protects and compiles the source code to obtain the protected code. By analyzing the source code, the method gets the execution time of each objective function, and then determines the confusion scheme used by each objective function, avoids a large number of labor costs, and improves the defects of relying on experience configuration, thus achieving the best protection effect.
【技术实现步骤摘要】
一种数据处理方法、装置、电子设备及存储介质
本专利技术属于数据处理
,具体涉及一种数据处理方法、装置、电子设备及存储介质。
技术介绍
代码混淆是一种有效保护软件的执行逻辑和自身知识产权的方法,同时,也能起到对攻击者进行干扰,拖延攻击时间,以及增加攻击难度的一种方法。代码混淆是指通过在源代码中添加额外的无用代码。目前,代码混淆主要有以下几种方法:第一种,保护控制流,例如,虚假控制流,即在控制流中添加永远都不会执行到的块;又例如,控制流平坦化,即将指令的结构调整为平坦,使得所有指令块的前置节点和后置节点都相同。第二种,保护数据流,例如,等价替换,即通过添计算使结果保持不变,如,将a+b变换为a+1+b-1。第三种,同时保护数据流与控制流,例如,指令虚拟化,即将指令转换为字节码,运行在虚拟机中。上述的这些混淆方法普遍以一个函数为单位进行保护,不同的方法所消耗的时间代价不同,所以要兼顾混淆的强度与整体性能,就需要进行不同的配置,因此,如何保证配置的合理性是兼顾混淆的强度与整体性能的关键因素。申请人在研究本申请的过程中发现,目前大多配置都是基于人工或者某种规则进行,而该种规则也是由人工设置,但是由于程序中函数数量庞大,配置文件冗余且难以维护,需要消耗大量的时间进行调教。且人工的方法非常依赖配置人员的经验水平,往往不能达到最佳的混淆强度与性能的平衡。
技术实现思路
鉴于此,本专利技术的目的在于提供一种数据处理方法、装置、电子设备及存储介质,以有效地改善上述问题。本专利技术的实施例是这样实现的:第一方面,本专利技术实施例提供了一种数据处理方法,包括:将源代码进行标记编 ...
【技术保护点】
1.一种数据处理方法,其特征在于,包括:将源代码进行标记编译,以获得带标记的标记代码;基于所述标记代码,以获得有关表征所述源代码性能的性能数据,其中,所述性能数据包括:每个目标函数的运行时长;基于所述性能数据和预设的与所述性能数据相对应的配置文件对所述源代码进行保护编译,以获得带保护的保护代码。
【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:将源代码进行标记编译,以获得带标记的标记代码;基于所述标记代码,以获得有关表征所述源代码性能的性能数据,其中,所述性能数据包括:每个目标函数的运行时长;基于所述性能数据和预设的与所述性能数据相对应的配置文件对所述源代码进行保护编译,以获得带保护的保护代码。2.根据权利要求1所述的方法,其特征在于,将源代码进行标记编译,以获得带标记的标记代码,包括:解析出所述源代码中的抽象语法树结构和/或中间表达式结构;在所述抽象语法树结构和/或所述中间表达式结构中添加标记,以获得带标记的所述标记代码,其中,所述标记用作每个目标函数运行时长的统计。3.根据权利要求2所述的方法,其特征在于,在所述抽象语法树结构和/或所述中间表达式结构中添加标记,包括:在所述抽象语法树结构和/或所述中间表达式结构的每个目标函数的入口和出口处均添加函数调用。4.根据权利要求2所述的方法,其特征在于,在所述抽象语法树结构和/或所述中间表达式结构中添加标记,包括:在所述抽象语法树结构和/或所述中间表达式结构的每个目标函数中添加包装函数。5.根据权利要求1-4任意一项所述的方法,其特征在于,基于所述性能数据和预设的与所述性能数据相对应的配置文件对所述源代码进行保护编译,包括:基于所述性能数据中每个目标函数的运行时长获得每个目标函数的运行时间占比;判断所述运行时间占比是否满足第一预设条件;在所述运行时间占比满足第一预...
【专利技术属性】
技术研发人员:泮晓波,
申请(专利权)人:北京顶象技术有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。