[发明专利]一种数据处理方法、装置、电子设备及存储介质有效
申请号: | 201810314390.8 | 申请日: | 2018-04-09 |
公开(公告)号: | CN108509774B | 公开(公告)日: | 2020-08-11 |
发明(设计)人: | 泮晓波 | 申请(专利权)人: | 北京顶象技术有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 陈晓云 |
地址: | 100000 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据处理 方法 装置 电子设备 存储 介质 | ||
本发明涉及一种数据处理方法、装置、电子设备及存储介质,属于数据处理技术领域。该数据处理方法包括:将源代码进行标记编译,以获得带标记的标记代码;基于所述标记代码,以获得有关表征所述源代码性能的性能数据,其中,所述性能数据包括:每个目标函数的运行时长;基于所述性能数据和预设的与所述性能数据相对应的配置文件对所述源代码进行保护编译,以获得带保护的保护代码。该方法通过对源代码进行分析,以得出各个目标函数的执行时长,进而确定出各个目标函数所使用的混淆方案,避免了大量的人力成本,以及改善了依靠经验配置所存在的缺陷,进而达到了最佳的保护效果。
技术领域
本发明属于数据处理技术领域,具体涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
代码混淆是一种有效保护软件的执行逻辑和自身知识产权的方法,同时,也能起到对攻击者进行干扰,拖延攻击时间,以及增加攻击难度的一种方法。代码混淆是指通过在源代码中添加额外的无用代码。目前,代码混淆主要有以下几种方法:第一种,保护控制流,例如,虚假控制流,即在控制流中添加永远都不会执行到的块;又例如,控制流平坦化,即将指令的结构调整为平坦,使得所有指令块的前置节点和后置节点都相同。第二种,保护数据流,例如,等价替换,即通过添计算使结果保持不变,如,将a+b变换为a+1+b-1。第三种,同时保护数据流与控制流,例如,指令虚拟化,即将指令转换为字节码,运行在虚拟机中。
上述的这些混淆方法普遍以一个函数为单位进行保护,不同的方法所消耗的时间代价不同,所以要兼顾混淆的强度与整体性能,就需要进行不同的配置,因此,如何保证配置的合理性是兼顾混淆的强度与整体性能的关键因素。申请人在研究本申请的过程中发现,目前大多配置都是基于人工或者某种规则进行,而该种规则也是由人工设置,但是由于程序中函数数量庞大,配置文件冗余且难以维护,需要消耗大量的时间进行调教。且人工的方法非常依赖配置人员的经验水平,往往不能达到最佳的混淆强度与性能的平衡。
发明内容
鉴于此,本发明的目的在于提供一种数据处理方法、装置、电子设备及存储介质,以有效地改善上述问题。
本发明的实施例是这样实现的:
第一方面,本发明实施例提供了一种数据处理方法,包括:将源代码进行标记编译,以获得带标记的标记代码;基于所述标记代码,以获得有关表征所述源代码性能的性能数据,其中,所述性能数据包括:每个目标函数的运行时长;基于所述性能数据和预设的与所述性能数据相对应的配置文件对所述源代码进行保护编译,以获得带保护的保护代码。
第二方面,本发明实施例还提供了一种数据处理装置,包括:第一获得模块、第二获得模块和第三获得模块。第一获得模块,用于将源代码进行标记编译,以获得带标记的标记代码;第二获得模块,用于基于所述标记代码,以获得有关表征所述源代码性能的性能数据,其中,所述性能数据包括:每个目标函数的运行时长;第三获得模块,用于基于所述性能数据和预设的与所述性能数据相对应的配置文件对所述源代码进行保护编译,以获得带保护的保护代码。
第三方面,本发明实施例还提供了一种电子设备,包括:处理器和存储器,所述存储器与所述处理器连接;所述存储器用于存储程序;所述处理器用于调用存储于所述存储器中的程序,以执行第一方面实施例提供的方法。
第四方面,本发明实施例还提供了一种存储介质,所述存储介质存储有处理器可执行的程序代码于计算机内,所述存储介质包括多条指令,所述多条指令被配置成使所述处理器执行第一方面实施例提供的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京顶象技术有限公司,未经北京顶象技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810314390.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种源代码加固方法及装置
- 下一篇:一种基于机器学习的恶意PNG图像识别方法