CN108509774A - 一种数据处理方法、装置、电子设备及存储介质 - Google Patents
一种数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN108509774A CN108509774A CN201810314390.8A CN201810314390A CN108509774A CN 108509774 A CN108509774 A CN 108509774A CN 201810314390 A CN201810314390 A CN 201810314390A CN 108509774 A CN108509774 A CN 108509774A
- Authority
- CN
- China
- Prior art keywords
- source code
- code
- performance data
- compiling
- protection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 10
- 238000000034 method Methods 0.000 claims abstract description 47
- 239000003550 marker Substances 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 63
- 238000010276 construction Methods 0.000 claims description 16
- 230000007547 defect Effects 0.000 abstract description 3
- 238000012512 characterization method Methods 0.000 abstract description 2
- 230000002633 protecting effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
Abstract
本发明涉及一种数据处理方法、装置、电子设备及存储介质,属于数据处理技术领域。该数据处理方法包括:将源代码进行标记编译,以获得带标记的标记代码;基于所述标记代码,以获得有关表征所述源代码性能的性能数据,其中,所述性能数据包括:每个目标函数的运行时长;基于所述性能数据和预设的与所述性能数据相对应的配置文件对所述源代码进行保护编译,以获得带保护的保护代码。该方法通过对源代码进行分析,以得出各个目标函数的执行时长,进而确定出各个目标函数所使用的混淆方案,避免了大量的人力成本,以及改善了依靠经验配置所存在的缺陷,进而达到了最佳的保护效果。
Description
技术领域
本发明属于数据处理技术领域,具体涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
代码混淆是一种有效保护软件的执行逻辑和自身知识产权的方法,同时,也能起到对攻击者进行干扰,拖延攻击时间,以及增加攻击难度的一种方法。代码混淆是指通过在源代码中添加额外的无用代码。目前,代码混淆主要有以下几种方法:第一种,保护控制流,例如,虚假控制流,即在控制流中添加永远都不会执行到的块;又例如,控制流平坦化,即将指令的结构调整为平坦,使得所有指令块的前置节点和后置节点都相同。第二种,保护数据流,例如,等价替换,即通过添计算使结果保持不变,如,将a+b变换为a+1+b-1。第三种,同时保护数据流与控制流,例如,指令虚拟化,即将指令转换为字节码,运行在虚拟机中。
上述的这些混淆方法普遍以一个函数为单位进行保护,不同的方法所消耗的时间代价不同,所以要兼顾混淆的强度与整体性能,就需要进行不同的配置,因此,如何保证配置的合理性是兼顾混淆的强度与整体性能的关键因素。申请人在研究本申请的过程中发现,目前大多配置都是基于人工或者某种规则进行,而该种规则也是由人工设置,但是由于程序中函数数量庞大,配置文件冗余且难以维护,需要消耗大量的时间进行调教。且人工的方法非常依赖配置人员的经验水平,往往不能达到最佳的混淆强度与性能的平衡。
发明内容
鉴于此,本发明的目的在于提供一种数据处理方法、装置、电子设备及存储介质,以有效地改善上述问题。
本发明的实施例是这样实现的:
第一方面,本发明实施例提供了一种数据处理方法,包括:将源代码进行标记编译,以获得带标记的标记代码;基于所述标记代码,以获得有关表征所述源代码性能的性能数据,其中,所述性能数据包括:每个目标函数的运行时长;基于所述性能数据和预设的与所述性能数据相对应的配置文件对所述源代码进行保护编译,以获得带保护的保护代码。
第二方面,本发明实施例还提供了一种数据处理装置,包括:第一获得模块、第二获得模块和第三获得模块。第一获得模块,用于将源代码进行标记编译,以获得带标记的标记代码;第二获得模块,用于基于所述标记代码,以获得有关表征所述源代码性能的性能数据,其中,所述性能数据包括:每个目标函数的运行时长;第三获得模块,用于基于所述性能数据和预设的与所述性能数据相对应的配置文件对所述源代码进行保护编译,以获得带保护的保护代码。
第三方面,本发明实施例还提供了一种电子设备,包括:处理器和存储器,所述存储器与所述处理器连接;所述存储器用于存储程序;所述处理器用于调用存储于所述存储器中的程序,以执行第一方面实施例提供的方法。
第四方面,本发明实施例还提供了一种存储介质,所述存储介质存储有处理器可执行的程序代码于计算机内,所述存储介质包括多条指令,所述多条指令被配置成使所述处理器执行第一方面实施例提供的方法。
本发明实施例提供的数据处理方法,与现有技术相比,该方法在依据配置文件将源代码直接进行保护编译的基础上,新增了先将源代码进行标记编译,以获得带标记的标记代码,以及基于所述标记代码,以获得有关表征所述源代码性能的性能数据的步骤,此外,在对源代码进行保护编译时,是基于获得的性能数据以及预设的与性能数据相对应的配置文件进行的。该方法通过对源代码进行分析,以得出各个目标函数的执行时长,进而确定出各个目标函数所使用的混淆方案,避免了大量的人力成本,以及改善了依靠经验配置所存在的缺陷,进而达到了最佳的保护效果。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。
图1示出了本发明实施例提供的一种电子设备的结构示意图。
图2示出了本发明实例提供的一种数据处理方法的方法流程图。
图3示出了本发明实施例提供的图2中的步骤S101的方法流程图。
图4示出了本发明实施例提供的图2中的步骤S103的方法流程图。
图5示出了本发明实施例提供的一种数据处理装置的模块示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在正式介绍本申请的发明之前,需要简单的讲述一下现有技术下的程序混淆流程:基于配置文件对源代码进行保护处理,以获得带保护的二级制代码。其中,该配置文件由人工或者基于某种规则进行配置,而该种规则也是由人工设置,但是由于程序中函数数量庞大,配置文件冗余且难以维护,需要消耗大量的时间进行调教。且人工的方法非常依赖配置人员的经验水平,往往不能达到最佳的混淆强度与性能的平衡。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。
如图1所示,图1示出了本发明实施例提供的一种电子设备100的结构框图。所述电子设备100包括:数据处理装置110、存储器120、存储控制器130和处理器140。
所述存储器120、存储控制器130、处理器140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述数据处理装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述电子设备100的操作系统(operating system,OS)中的软件功能模块。所述处理器140用于执行存储器120中存储的可执行模块,例如所述数据处理装置110包括的软件功能模块或计算机程序。
其中,存储器120可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器120用于存储程序,所述处理器140在接收到执行指令后,执行所述程序,后述本发明实施例任一实施例揭示的流程定义的电子设备100所执行的方法可以应用于处理器140中,或者由处理器140实现。
处理器140可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
第一实施例
请参阅图2,为本发明实施例提供的一种应用于上述电子设备100的数据处理方法,下面将结合图2对其所包含的步骤进行说明。
步骤S101:将源代码进行标记编译,以获得带标记的标记代码。
将源代码进行标记编译,以获得带标记的标记代码,作为一种可选的实施方式,以图3所包含的步骤对一个过程进行说明。
步骤S201:解析出所述源代码中的抽象语法树结构和/或中间表达式结构。
利用编译器解析出所述源代码中的抽象语法树结构和/或中间表达式结构。
步骤S202:在所述抽象语法树结构和/或所述中间表达式结构中添加标记,以获得带标记的所述标记代码。
在解析出的抽象语法树结构和/或所述中间表达式结构中添加标记,以获得带标记的所述标记代码。其中,需要说明的是,所述标记用作每个目标函数运行时长的统计(如,记录开始时间,以及结束时间),以及每个目标函数调用频率(次数)的统计。
其中,作为一种实施例,在解析出的抽象语法树结构和/或所述中间表达式结构中添加标记可以是在所述抽象语法树结构和/或所述中间表达式结构的每个目标函数的入口和出口处均添加函数调用。示例如下:
其中,作为另一种实施例,在所述抽象语法树结构和/或所述中间表达式结构中添加标记可以是在所述抽象语法树结构和/或所述中间表达式结构的每个目标函数中添加包装函数。实例如下:
其中,enter_function的功能是用于记录目标函数的起始时间。exit_function的功能是用于记录目标函数的结束时间。
此外,需要说明的是,在将源代码进行标记编译,以获得带标记的标记代码时,也可以是直接在源代码中添加标记,以获得带标记的所述标记代码。其添加标记的过程与步骤S202所示的过程相似,即一种为在源代码中的每个目标函数的入口和出口处均添加函数调用;另一种为,在源代码中的每个目标函数中添加包装函数。
其中,需要说明的是,上述的标记代码可以是标记二进制代码,也可以是文本格式的代码,如,JavaScript、php等。
步骤S102:基于所述标记代码,以获得有关表征所述源代码性能的性能数据,其中,所述性能数据包括:每个目标函数的运行时长。
运行或调试所述标记代码,以获得有关表征所述源代码性能的性能数据。其中,需要说明的是,所述性能数据包括:每个目标函数的运行时长,此外,还可以包括,每个目标函数的使用频率,即调用次数。
其中,需要说明的是,每个目标函数的运行时长,可以根据该目标函数的开始时间和结束时间获得,即结束时间减去开始时间即为运行时长,示例如下:
步骤S103:基于所述性能数据和预设的与所述性能数据相对应的配置文件对所述源代码进行保护编译,以获得带保护的保护代码。
在获得该源代码中的每个目标函数的运行时长等性能数据后,基于所述性能数据和预设的与所述性能数据相对应的配置文件对所述源代码进行保护编译,以获得带保护的保护代码。进一步地,以图4说包含的步骤对这一过程进行说明。
步骤S301:基于所述性能数据中每个目标函数的运行时长获得每个目标函数的运行时间占比。
在获得该源代码中的每个目标函数的运行时长等性能数据后,基于该性能数据中每个目标函数的运行时长获得每个目标函数的运行时间占比,即获得每个目标函数的运行时长占总运行时长的占比。
步骤S302:判断所述运行时间占比是否满足第一预设条件。
在获得每个目标函数的运行时间占比后,判断所述运行时间占比是否满足第一预设条件,在所述运行时间占比满足第一预设条件时,执行步骤S303,在所述运行时间占比不满足第一预设条件时,执行步骤S304。
其中,需要说明的是,该第一预设条件是预先设置的,不同的设置需求使得该第一预设条件有所不同,例如,在本实施例中,可以是大于等于10%。因此,不能将本实施例中所示意的数值理解成是对其的进一步限制。
步骤S303:基于预设的保护控制流对所述源代码进行保护编译。
在所述运行时间占比满足第一预设条件(如该运行时间占比大于等于10%)时,基于预设的保护控制流对所述源代码进行保护编译。
步骤S304:判断所述运行时间占比是否满足第二预设条件;
在所述运行时间占比不满足第一预设条件(如,该运行时间占比小于10%)时,判断所述运行时间占比是否满足第二预设条件,在所述运行时间占比满足第二预设条件时,执行步骤S305;在所述运行时间占比不满足第二预设条件时,执行步骤S306。
其中,需要说明的是,该第二预设条件是预先设置的,不同的设置需求使得该第二预设条件有所不同,例如,在本实施例中,可以是大于等于3%,但小于10%。因此,不能将本实施例中所示意的数值理解成是对其的进一步限制。
步骤S305:基于预设的等价替换对所述源代码进行保护编译。
在所述运行时间占比满足第二预设条件(如,该运行时间占比大于等于3%,但小于10%)时,基于预设的等价替换对所述源代码进行保护编译。
步骤S306:基于预设的指令虚拟化对所述源代码进行保护编译。
在所述运行时间占比不满足第二预设条件(如,该运行时间占比小于3%)时,基于预设的指令虚拟化对所述源代码进行保护编译。
其中,需要说明的是,该预设的与所述性能数据相对应的配置文件是事先根据每个目标函数的性能数据进行配置的,即在设置时,通过大量的试验获得的,为了便于理解,示例如下:
时间占比 | 保护项目 |
高(如,大于等于10%) | 虚假控制流或控制流平坦化 |
中(如,大于等于3%,但小于10%) | 等价替换 |
低(如,小于3%) | 指令虚拟化 |
其中,需要说明的是,上述的保护代码可以是保护二进制代码,也可以是文本格式的代码,如,JavaScript、php等。
其中,需要说明的是,本实施例中,所述的目标函数为研发人员重点关注的函数,如在高德地图中,源代码中与定位相关的函数即为目标函数。可以理解的是,上述所列举的目标函数并不固定,可以根据不同的使用需求,进行调整,因此并不能将本实施例所示的目标函数理解成是对本发明的限制。
本发明实施例还提供了一种数据处理装置110,如图5所示,包括:第一获得模块111、第二获得模块112和第三获得模块113。
第一获得模块111,用于将源代码进行标记编译,以获得带标记的标记代码。进一步地,该第一获得模块111包括解析单元和标记单元。
其中,解析单元,用于解析出所述源代码中的抽象语法树结构和/或中间表达式结构。
标记单元,用于在所述抽象语法树结构和/或所述中间表达式结构中添加标记,以获得带标记的所述标记代码,其中,所述标记用作每个目标函数运行时长的统计。
第二获得模块112,用于基于所述标记代码,以获得有关表征所述源代码性能的性能数据,其中,所述性能数据包括:每个目标函数的运行时长。
第三获得模块113,用于基于所述性能数据和预设的与所述性能数据相对应的配置文件对所述源代码进行保护编译,以获得带保护的保护代码。进一步地,该第三获得模块113包括:第一获得单元、第一判断单元、第一保护编译单元、第二判断单元、第二保护编译单元和第三保护编译单元。
其中,第一获得单元,用于基于所述性能数据中每个目标函数的运行时长获得每个目标函数的运行时间占比。
第一判断单元,用于判断所述运行时间占比是否满足第一预设条件。
第一保护编译单元,用于在所述运行时间占比满足第一预设条件时,基于预设的保护控制流对所述源代码进行保护编译。
第二判断单元,用于在所述运行时间占比不满足第一预设条件时,判断所述运行时间占比是否满足第二预设条件。
第二保护编译单元,用于在所述运行时间占比满足第二预设条件时,基于预设的等价替换对所述源代码进行保护编译。
第三保护编译单元,用于在所述运行时间占比不满足第二预设条件时,基于预设的指令虚拟化对所述源代码进行保护编译。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本发明实施例所提供的数据处理装置110,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
将源代码进行标记编译,以获得带标记的标记代码;
基于所述标记代码,以获得有关表征所述源代码性能的性能数据,其中,所述性能数据包括:每个目标函数的运行时长;
基于所述性能数据和预设的与所述性能数据相对应的配置文件对所述源代码进行保护编译,以获得带保护的保护代码。
2.根据权利要求1所述的方法,其特征在于,将源代码进行标记编译,以获得带标记的标记代码,包括:
解析出所述源代码中的抽象语法树结构和/或中间表达式结构;
在所述抽象语法树结构和/或所述中间表达式结构中添加标记,以获得带标记的所述标记代码,其中,所述标记用作每个目标函数运行时长的统计。
3.根据权利要求2所述的方法,其特征在于,在所述抽象语法树结构和/或所述中间表达式结构中添加标记,包括:
在所述抽象语法树结构和/或所述中间表达式结构的每个目标函数的入口和出口处均添加函数调用。
4.根据权利要求2所述的方法,其特征在于,在所述抽象语法树结构和/或所述中间表达式结构中添加标记,包括:
在所述抽象语法树结构和/或所述中间表达式结构的每个目标函数中添加包装函数。
5.根据权利要求1-4任意一项所述的方法,其特征在于,基于所述性能数据和预设的与所述性能数据相对应的配置文件对所述源代码进行保护编译,包括:
基于所述性能数据中每个目标函数的运行时长获得每个目标函数的运行时间占比;
判断所述运行时间占比是否满足第一预设条件;
在所述运行时间占比满足第一预设条件时,基于预设的保护控制流对所述源代码进行保护编译。
6.根据权利要求5所述的方法,其特征在于,判断所述运行时间占比是否满足第一预设条件之后,所述方法还包括:
在所述运行时间占比不满足第一预设条件时,判断所述运行时间占比是否满足第二预设条件;
在所述运行时间占比满足第二预设条件时,基于预设的等价替换对所述源代码进行保护编译。
7.根据权利要求6所述的方法,其特征在于,判断所述运行时间占比是否满足第二预设条件之后,所述方法还包括:
在所述运行时间占比不满足第二预设条件时,基于预设的指令虚拟化对所述源代码进行保护编译。
8.一种数据处理装置,其特征在于,包括:
第一获得模块,用于将源代码进行标记编译,以获得带标记的标记代码;
第二获得模块,用于基于所述标记代码,以获得有关表征所述源代码性能的性能数据,其中,所述性能数据包括:每个目标函数的运行时长;
第三获得模块,用于基于所述性能数据和预设的与所述性能数据相对应的配置文件对所述源代码进行保护编译,以获得带保护的代码。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器与所述处理器连接;
所述存储器用于存储程序;
所述处理器用于调用存储于所述存储器中的程序,以执行如权利要求1-7任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质存储有处理器可执行的程序代码于计算机内,所述存储介质包括多条指令,所述多条指令被配置成使所述处理器执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810314390.8A CN108509774B (zh) | 2018-04-09 | 2018-04-09 | 一种数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810314390.8A CN108509774B (zh) | 2018-04-09 | 2018-04-09 | 一种数据处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108509774A true CN108509774A (zh) | 2018-09-07 |
CN108509774B CN108509774B (zh) | 2020-08-11 |
Family
ID=63381183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810314390.8A Active CN108509774B (zh) | 2018-04-09 | 2018-04-09 | 一种数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108509774B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258656A (zh) * | 2020-01-20 | 2020-06-09 | 展讯通信(上海)有限公司 | 数据处理装置及终端 |
CN111352973A (zh) * | 2020-03-02 | 2020-06-30 | 武汉中旗生物医疗电子有限公司 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
CN113791770A (zh) * | 2021-11-15 | 2021-12-14 | 北京壁仞科技开发有限公司 | 代码编译器、代码编译方法、代码编译系统和计算机介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110145921A1 (en) * | 2009-12-16 | 2011-06-16 | Mcafee, Inc. | Obfuscated malware detection |
CN104335218A (zh) * | 2012-03-30 | 2015-02-04 | 爱迪德加拿大公司 | 使用基函数编码来保护可访问的系统 |
-
2018
- 2018-04-09 CN CN201810314390.8A patent/CN108509774B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110145921A1 (en) * | 2009-12-16 | 2011-06-16 | Mcafee, Inc. | Obfuscated malware detection |
CN104335218A (zh) * | 2012-03-30 | 2015-02-04 | 爱迪德加拿大公司 | 使用基函数编码来保护可访问的系统 |
Non-Patent Citations (1)
Title |
---|
杨宇波: "代码混淆模型研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258656A (zh) * | 2020-01-20 | 2020-06-09 | 展讯通信(上海)有限公司 | 数据处理装置及终端 |
CN111352973A (zh) * | 2020-03-02 | 2020-06-30 | 武汉中旗生物医疗电子有限公司 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
CN111352973B (zh) * | 2020-03-02 | 2023-11-03 | 武汉中旗生物医疗电子有限公司 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
CN113791770A (zh) * | 2021-11-15 | 2021-12-14 | 北京壁仞科技开发有限公司 | 代码编译器、代码编译方法、代码编译系统和计算机介质 |
CN113791770B (zh) * | 2021-11-15 | 2022-06-21 | 北京壁仞科技开发有限公司 | 代码编译器、代码编译方法、代码编译系统和计算机介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108509774B (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107632842B (zh) | 规则配置和发布方法、系统、设备及存储介质 | |
CN103309808B (zh) | 基于标签的安卓用户隐私泄露黑盒检测方法及系统 | |
CN108509774A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN103221960B (zh) | 恶意代码的检测方法及装置 | |
US9280669B2 (en) | Systems, methods and computer readable media for calculating a security index of an application hosted in a cloud environment | |
CN109408393A (zh) | 应用测试方法、装置及设备和计算机可读存储介质 | |
CN102799529B (zh) | 一种动态的二进制代码测试用例生成方法 | |
Manawaduge | Corporate governance practices and their impacts on corporate performance in an emerging market: the case of Sri Lanka | |
CN103946855A (zh) | 用于检测面向返回编程攻击的方法、装置和系统 | |
CN111124479B (zh) | 配置文件的解析方法、系统及电子设备 | |
CN113364753B (zh) | 反爬虫方法、装置、电子设备及计算机可读存储介质 | |
US9104802B2 (en) | Stack overflow protection device, method, and related compiler and computing device | |
CN103475517B (zh) | 光网络终端设备及其硬件配置参数保存方法 | |
CN107943949A (zh) | 一种确定网络爬虫的方法及服务器 | |
CN106326082B (zh) | 网络系统中记录日志的方法和装置 | |
CN108428175A (zh) | 一种基于消费记录的大数据分析方法及系统 | |
CN106201856A (zh) | 一种多版本性能测试方法及装置 | |
CN107704436A (zh) | 数据抽样方法、终端、设备以及计算机可读存储介质 | |
US20230418951A1 (en) | Apparatus and method for analyzing vulnerabilities of smart contract code | |
CN111475494A (zh) | 一种海量数据处理方法、系统、终端及存储介质 | |
CN107644366B (zh) | 订单欺诈识别方法、系统、存储介质和电子设备 | |
CN109684033A (zh) | 云平台裸机管理方法、存储介质、电子设备及系统 | |
CN111221690B (zh) | 针对集成电路设计的模型确定方法、装置及终端 | |
CN107704567A (zh) | 一种二进制文件的解析方法、装置、设备及存储介质 | |
CN109995706A (zh) | 一种安全审计的方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |