CN108830096B - 数据处理方法、装置、电子设备及存储介质 - Google Patents

数据处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN108830096B
CN108830096B CN201810643472.7A CN201810643472A CN108830096B CN 108830096 B CN108830096 B CN 108830096B CN 201810643472 A CN201810643472 A CN 201810643472A CN 108830096 B CN108830096 B CN 108830096B
Authority
CN
China
Prior art keywords
data
memory
processed
data blocks
writing
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.)
Active
Application number
CN201810643472.7A
Other languages
English (en)
Other versions
CN108830096A (zh
Inventor
黄国友
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huaduo Network Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201810643472.7A priority Critical patent/CN108830096B/zh
Publication of CN108830096A publication Critical patent/CN108830096A/zh
Application granted granted Critical
Publication of CN108830096B publication Critical patent/CN108830096B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Abstract

本发明实施例公开了一种数据处理方法、装置、电子设备及存储介质,将待处理数据写入预置的内存中;在内存中的空闲位置写入根据随机种子产生的随机数;将写入待处理数据和随机数的内存保存于动态链接库中,实现对待处理数据的加密。也就是说,本申请公开的数据处理方法,通过对数据的存储方式的改进实现对数据加密的目的,而这种加密方式用传统的数据解密方法是无法解密的,提高了数据的隐秘性。

Description

数据处理方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机技术领域,更具体地说,涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的发展,数据安全越来越受到人们的关注。为了防止数据被非法访问,对数据加密成为计算机领域的研究重点之一。而目前对数据的加密方式比较简单,例如,在网络游戏中,动态配置开关内置于配置文件中,为了防止非法程序(比如,外挂程序)对动态配置开关进行非法操作,常用处理方式是把配置文件保存成通用的bat文件,然后对bat文件进行简单加密,比如,将bat文件与特定字符串进行一次异或操作。然而,这种加密方式对配置文件的隐秘性较低,容易出现被非法程序破解的情况。
因此,如何提高数据的隐秘性成为亟待解决的技术问题。
发明内容
本发明的目的是提供一种数据处理方法、装置、电子设备及存储介质,以提高数据的隐秘性。
为实现上述目的,本发明提供了如下技术方案:
一种数据处理方法,包括:
将待处理数据写入预置的内存中;
在所述内存中的空闲位置写入随机数,所述随机数根据随机种子产生;
将写入所述待处理数据和所述随机数的所述内存保存于动态链接库中。
上述方法,优选的,所述将待处理数据写入预置的内存,包括:
将所述待处理数据划分为多个数据块;
将所述多个数据块分散写入所述内存中的不同区域。
上述方法,优选的,所述将所述多个数据块分散写入所述内存中的不同区域中,包括:
将各个数据块分别进行第一加密,得到多个第一密文形式的数据块;
将所述多个第一密文形式的数据块分散写入所述内存中的不同区域。
上述方法,优选的,所述将所述多个第一密文形式的数据块分散写入所述内存中的不同区域,包括:
利用所述随机种子对各个所述第一密文形式的数据块分别进行第二加密,得到多个第二密文形式的数据块;
将所述多个第二文形式的数据块分散写入所述内存中的不同区域。
上述方法,优选的,所述将写入所述待处理数据和所述随机数的所述内存保存于动态链接库中,包括:
利用所述随机种子对写入所述待处理数据和所述随机数的所述内存进行加密;
将加密后的内存保存于动态链接库中。
上述方法,优选的,所述动态链接库中保存有写入所述待处理数据和所述随机数的所述内存,表征所述内存的起始位置的第一信息,以及表征所述内存的大小的第二信息;其中,
所述第一信息由至少一个第一魔术字构成;
所述第二信息由第二魔术字对所述内存的大小进行加密得到。
上述方法,优选的,所述将写入所述待处理数据和所述随机数的所述内存保存于动态链接库中,包括:
将写入所述待处理数据和所述随机数的所述内存以机器码方式保存于动态链接库中。
一种数据处理装置,包括:
第一写模块,用于将待处理数据写入预置的内存中;
第二写模块,用于在所述内存中的空闲位置写入随机数,所述随机数根据随机种子产生;
保存模块,用于将写入所述待处理数据和所述随机数的所述内存保存于动态链接库中。
一种计算机可读存储介质,所述机算机可读存储介质中存储有指令,当所述指令在电子设备上运行时,使得所述电子设备执行本申请公开的数据处理方法。
一种电子设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现本申请公开的数据处理方法。
本申请提供的一种数据处理方法、装置、电子设备及存储介质,将待处理数据写入预置的内存中;在内存中的空闲位置写入根据随机种子产生的随机数;将写入待处理数据和随机数的内存保存于动态链接库中,实现对待处理数据的加密。也就是说,本申请公开的数据处理方法,通过对数据的存储方式的改进实现对数据加密的目的,而这种加密方式用传统的数据解密方法是无法解密的,提高了数据的隐秘性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施提供的数据处理方法的一种实现流程图;
图2为本申请实施提供的将待处理数据写入预置的内存的一种实现流程图;
图3为本申请实施提供的将多个数据块分散写入内存中的不同区域的一种实现流程图;
图4为本申请实施提供的将多个第一密文形式的数据块分散写入内存中的不同区域的一种实现流程图;
图5为本申请实施提供的将写入待处理数据和随机数的内存保存于动态链接库中的一种实现流程图;
图6为本申请实施提供的数据处理装置的一种结构示意图。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本申请实施例提供的数据处理方法的一种实现流程图,可以包括:
步骤S11:将待处理数据写入预置的内存中。
待处理数据即需要保密的数据。
步骤S12:在内存中的空闲位置写入随机数,该随机数根据随机种子产生。
内存中的空闲位置即为未写入待处理数据的位置。本申请实施例中,预置的内存中除了可以写入待处理数据外,还可以写入其它数据,例如随机数。该预置的内存的大小可以根据实际的需求设定,只要能写入待处理数据和若干随机数即可。
在内存中写入的随机数包括:随机种子,以及根据该随机种子产生的新的随机数。
需要说明的是,本申请实施例中,步骤S11与步骤S12的执行顺序不做具体限定,可以先执行步骤S11,再执行步骤S12,或者,先执行步骤S12,再执行步骤S11,或者,两个步骤交替进行,即先写入一部分待处理数据,再写入一部分随机数,然后再写入一部分待处理数据,再写入一部分随机数,依此类推。或者,先写入一部分随机数,再写入一部分待处理数据,然后再写入一部分随机数,再写入一部分待处理数据,依此类推。
步骤S13:将写入待处理数据和随机数的上述内存保存于动态链接库中。
具体的,可以通过如下方式将写入待处理数据和随机数的上述内存保存于动态链接库中:
创建动态链接库源文件。
在动态链接库源文件中定义动态链接库的入口函数,并在入口函数处加入一个自定义的函数。
将写入待处理数据和随机数的上述内存插入上述自定义的函数的函数体内,并将内存的起始位置和大小插入上述自定义的函数的函数体内。
写入待处理数据和随机数的上述内存、内存的起始位置和大小可以以明文的方式插入自定义的函数的函数体内,也可以以密文的方式插入自定义的函数的函数体内。例如,可以用魔术字表征内存的起始位置,具体可以用一个魔术字表征内存的起始位置,也可以用两个或更多个魔术字表征内存的起始位置。可以用魔术字对内存的大小进行加密后插入自定义的函数的函数体内。优选的,表征内存起始位置的魔术字和用于对内存的大小进行加密的魔术字为不同的魔术字。
为了进一步提高待处理数据的隐秘性,写入待处理数据和随机数的上述内存,以及内存的起始位置和大小,不管是明文还是密文,均可以以机器码的形式插入自定义的函数的函数体内。机器码即计算机可以识别的二进制编码或十六进制编码。
对动态链接库源文件进行编译,得到动态链接库,该动态链接库即为保了上述写入待处理数据和随机数的上述内存,以及内存的起始位置和大小的动态链接库。若写入待处理数据和随机数的上述内存、内存的起始位置和大小以密文的方式插入自定义的函数的函数体内,则动态链接库中保存有密文形式的写入待处理数据和所述随机数的内存,表征内存的起始位置的第一信息(即密文形式的内存的起始位置),以及表征内存的大小的第二信息(即密文形式的内存大小);其中,
第一信息由至少一个第一魔术字构成;
第二信息由第二魔术字对内存的大小进行加密得到。
可选的,动态链接库中,写入待处理数据和随机数的上述内存,以及内存的起始位置和大小,不管是明文,还是密文,均可以以机器码的形式保存于动态链接库中。
本申请提供的数据处理方法,通过对数据的存储方式的改进实现对数据加密的目的,而这种加密方式用传统的数据解密方法是无法解密的,提高了数据的隐秘性。
在一可选的实施例中,将待处理数据写入预置的内存的一种实现流程图如图2所示,可以包括:
步骤S21:将待处理数据划分为多个数据块。
本申请实施例中,不同的数据块所包含的数据,可以完全不同。或者,
不同的数据块所包含的数据,部分数据相同,部分数据不同。
不同的数据块所包含数据的长度可以相同,也可以不同。
步骤S22:将上述多个数据块分散写入内存中的不同区域。
也就是说,待处理数据在内存中处于不连续分布状态。其中,该多个数据块至少占用两块存储区域,该至少两块存储区域中,任意两块存储区域均不连通。换句话说,假设数据块的个数为N,该N个数据块占用的存储区域的个数为M,则:
1<M≤N
本实施例中,将待处理数据分散存储在预置内存中,进一步增加了待处理数据的隐秘性。
在一可选的实施例中,将多个数据块分散写入内存中的不同区域的一种实现流程图如图3所示,可以包括:
步骤S31:将各个数据块分别进行第一加密,得到多个第一密文形式的数据块。
可选的,对于每一个数据块,可以计算该数据块的校验信息,利用该校验信息对该数据块进行第一加密。在计算数据块的校验信息时,可以有如下两种实现方式:
第一种方式是:计算整个数据块的校验信息,即校验信息为整个数据块的校验信息,且只有一个。
第二种方式是:把数据块拆分为多个子数据块,计算该多个子数据块中的至少部分子数据块的校验信息,即校验信息为数据块的局部校验信息,且可以有多个。
在利用校验信息对数据块进行加密时,可以将校验信息与对应的数据组合为新的数据,该新的数据即为通过校验信息加密后的数据。例如,假设数据块为asdfgghjk,若利用第一种方式计算得到的校验信息为C1,则,用C1对asdfgghjk加密得到的数据为asdfgghjkC1。若利用第二种方式计算校验信息,假设将asdfgghjk分为三个子数据块,分别为asd、fgg、hjk,对asd进行计算得到校验信息C2,对fgg进行计算得到的校验信息C3,未计算hjk的校验信息,则用C2和C3对asdfgghjk加密得到的数据为asdC2fggC3hjk。
上述校验信息可以为循环冗余校验(CRC)码,或者,MD5值,或者其它校验信息,如签名等。
步骤S32:将多个第一密文形式的数据块分散写入内存中的不同区域。
本实施例中,将待处理数据加密后才写入内存,进一步提高待处理数据的隐秘性。
在一可选的实施例中,将多个第一密文形式的数据块分散写入内存中的不同区域的一种实现流程图如图4所示,可以包括:
步骤S41:利用随机种子对各个第一密文形式的数据块分别进行第二加密,得到多个第二密文形式的数据块。
可选的,若第一密文形式的数据块是基于第一种校验方式计算得到的,可以将随机种子与第一密文形式的数据块整体进行预置计算,得到第二密文形式的数据块。或者,
若第一密文形式的数据块是基于第二种校验方式计算得到的,可以将随机种子与第一密文形式的数据块中的各个子数据块(如果有校验信息,则该数据块是指密文形式的子数据块)分别进行计算,得到第二密文形式的数据块。不同的子数据块与随机种子进行计算的计算方式可以相同,也可以不同。
步骤S42:将多个第二文形式的数据块分散写入内存中的不同区域。
本实施例中,对待处理数据进行二次加密,进一步提高待处理数据的隐秘性。
在一可选的实施例中,将写入待处理数据和随机数的内存保存于动态链接库中的一种实现流程图如图5所示,可以包括:
步骤S51:利用随机种子对写入待处理数据和随机数的内存进行加密。
可选的,可以利用随机种子构建一个128位的密钥,利用该密钥,使用Rijndael加密算法对写入待处理数据和随机数的内存进行加密。
步骤S52:将加密后的内存保存于动态链接库中。
下面以待处理数据为配置文件为例对本申请的一种实现方式进行说明。
通用的配置文件(例如,dmconfig.xml)项格式为:节名+项名+项值,其中,
节名指定某一大类,例如:“防止调试”。
项名指定这一大类(即节名所指定的大类)中的某一个具体方法,例如:“防止软件断点调试”。
项值指定了当前项(即项名所指定的具体方法)是否开启或开启的百分比,以数字表示,例如:“0”表示关闭。
本示例中,按照配置项将配置文件划分为多个数据块,即每一个配置项作为一个数据块,并对每个数据块分别进行加密。由于不同的项可能属于同一个节,因此,不同的数据块可能有部分数据(即节名)相同。具体的:
遍历解析配置文件,解析到节名、项名和项值。
分别计算节名和项名的循环冗余校验码,假设节名的CRC码为CRC1,项名的CRC码为CRC2,则通过循环冗余校验码对配置项加密得到第一密文形式的配置项:
[节名CRC1,项名CRC2,项值]
可以将第一密文形式的配置项作为一个列表项存入配置项列表中,便于后续处理。
在预先配置的内存中,该内存的起始位置(假设为0x40)用于写入随机种子(假设其长度为4个字节),从0x40+偏移量的位置开始填充配置项列表中的各个列表项(即第一密文形式的配置项),这里加偏移量的目的是为了保证前边用于填写随机种子的空间不被配置项占用。可选的,该偏移量可以与随机种子相关,即,该偏移量可以利用随机种子计算得到,例如,该偏移量可以为:随机种子对内存的起始位置的地址求余数。
将配置项列表中的各个第一密文形式的配置项填入内存中的具体填充规则如下:
对于每一个第一密文形式的配置项,利用随机种子对该第一密文形式的配置项进行加密,得到第二密文形式的配置项。
例如,可以按如下方式进行加密:节名CRC1与随机种子做异或运算,项名CRC2与随机种子做异或运算,由项值、随机种子和特定值构成的字符串与随之种子做异或运算,即:
[节名CRC1异或随机种子,项名CRC2异或随机种子,(项值-随机种子-特定值)异或随机种子]
当然,上述加密方式只是一个示例,还可以以其它方式用随机种子对列表项进行加密,例如,节名CRC1与随机种子做异或运算,项名CRC2与随机种子做或运算,由项值、随机种子和第一特定值依次做异或运算,该异或运算的结果再与第二特定值做或运算,或运算的结果在与随机种子做或运算,即:
[节名CRC1异或随机种子,项名CRC2或随机种子,(项值异或随机种子异或第一特定值)或随机种子]
在得到第二密文形式的配置项后,确定第二密文形式的配置项在内存中的起始位置。该起始位置为:已写入内存中的数据的最后一个地址增加预置偏移量的位置。该预置偏移量根据随机种子计算得到。例如,随机种子对内存的起始位置的地址求余数。例如,假设已写入内存中的数据的最后一个地址是0x55,预置偏移量为3,则第二密文形式的配置项在内存中的起始位置为0x58。
将第二密文形式的配置项按照所确定的起始位置填充至内存。即第二密文形式的配置项在内存中的起始位置就是所确定的起始位置。
上述只是说明了将一个第一密文形式的配置项写入内存的具体实现过程,其它第一密文形式的配置项写入内存的方式与上述方式相同,这里不再一一详述。
在将所有第一密文形式的配置项写入内存后,可以利用上述随机种子对上述写入待处理数据和随机数的内存进行加密,具体的,可以利用随机种子按照预置方式构造预置长度的密钥,利用该密钥通过预置加密算法对上述写入待处理数据和随机数的内存进行加密。例如,可以利用随机种子构造128位的密钥,该128位的密钥的前32位和后32位均填充随机种子,中间位置填充0,利用该128位的密钥使用Rijndael加密算法对上述写入待处理数据和随机数的内存进行加密(包括对内存地址的加密,以及对内存中数据的加密)。也就是说,本申请示例中,通过对上述写入待处理数据和随机数的内存进行加密,形成了对配置文件的三次加密。
将加密后的内存保存至动态链接库中。具体的:
创建一个c源文件(即用c语言编写的动态链接库源文件),该源文件中定义了动态库的入口函数,在入口函数处加入一个自定义的函数,以机器码的方式在自定义函数的函数体中插入特定的魔术字1和魔术字2,将内存大小异或魔术字3后,将异或结果以机器码方式插入自定义函数的函数体中,把前述通过Rijndael加密后的内存(包括加密后的各个地址,以及加密后的各个数据)以机器码方式插入到自定义的函数的函数体内。其中,魔术字1和魔术字2用于标识内存的起始位置。
调用cl.exe对前述c源文件进行编译,生成动态链接库。
通过生成动态链接库,实现了对待处理数据的又一层加密,进一步提高了待处理数据的隐蔽性。
与方法实施例相对应,本申请还提供一种数据处理装置,本申请提供的数据处理装置的一种结构示意图如图6所示,可以包括:
第一写模块61,用于将待处理数据写入预置的内存中;
第二写模块62,用于在内存中的空闲位置写入随机数,该随机数根据随机种子产生;
保存模块63,用于将写入待处理数据和随机数的内存保存于动态链接库中。
本申请实施例提供的数据处理装置,通过对数据的存储方式的改进实现对数据加密的目的,而这种加密方式用传统的数据解密方法是无法解密的,提高了数据的隐秘性。
在一可选的实施例中,第一写模块61具体可以用于,将待处理数据划分为多个数据块;将多个数据块分散写入内存中的不同区域。
在一可选的实施例中,第一写模块61将多个数据块分散写入内存中的不同区域时具体可以用于,将各个数据块分别进行第一加密,得到多个第一密文形式的数据块;将多个第一密文形式的数据块分散写入内存中的不同区域。
在一可选的实施例中,第一写模块61将多个第一密文形式的数据块分散写入内存中的不同区域时,具体可以用于,利用随机种子对各个第一密文形式的数据块分别进行第二加密,得到多个第二密文形式的数据块;将多个第二文形式的数据块分散写入内存中的不同区域。
在一可选的实施例中,保存模块63具体可以用于,利用随机种子对写入待处理数据和随机数的内存进行加密;将加密后的内存保存于动态链接库中。
在一可选的实施例中,动态链接库中保存有写入待处理数据和随机数的内存,表征内存的起始位置的第一信息,以及表征内存的大小的第二信息;其中,
第一信息由至少一个第一魔术字构成;
第二信息由第二魔术字对内存的大小进行加密得到。
在一可选的实施例中,保存模块63具体可以用于,将写入处理数据和随机数的内存以机器码方式保存于动态链接库中。
本申请还提供一种计算机可读存储介质,该机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行本申请公开的数据处理方法。
本申请还提供一种电子设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现本申请公开的数据处理方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统(若存在)、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种数据处理方法,其特征在于,包括:
将待处理数据写入预置的内存中;所述将待处理数据写入预置的内存中, 包括:将待处理数据划分为多个数据块,将所述多个数据块分散写入内存中的不同区域,若数据块的个数为 N,N 个数据块占用的存储区域的个数为 M, 则:1<M≤N,M 和 N 均为正整数;所述将所述多个数据块分散写入内存中的不同区域,包括:将各个数据块分别进行第一加密,得到多个第一密文形式的数据块;所述将各个数据块分别进行第一加密,得到多个第一密文形式的数据块,包括:把数据块拆分为多个子数据块,计算所述多个子数据块中的至少部分子数据块的校验信息,所述校验信息为数据块的局部校验信息; 利用所述校验信息对数据块进行加密时,将所述校验信息与校验信息对应的子数据块组合为新的数据,所述新的数据即为通过校验信息加密后的数据; 将所述多个第一密文形式的数据块分散写入所述内存中的不同区域;
在所述内存中的空闲位置写入随机数,所述随机数根据随机种子产生;创建动态链接库源文件;
在所述动态链接库源文件中定义动态链接库的入口函数,并在所述入口函数处加入自定义的函数;
将写入待处理数据和随机数的所述内存插入所述自定义的函数的函数体内,并将内存的起始位置和大小插入所述自定义的函数的函数体内;
对所述动态链接库源文件进行编译,得到动态链接库。
2.根据权利要求 1 所述的方法,其特征在于,所述将所述多个第一密文形式的数据块分散写入所述内存中的不同区域,包括:
利用所述随机种子对各个所述第一密文形式的数据块分别进行第二加密,得到多个第二密文形式的数据块;
将所述多个第二文形式的数据块分散写入所述内存中的不同区域。
3.根据权利要求 1-2 任意一项所述的方法,其特征在于,所述将写入待处理数据和随机数的所述内存插入所述自定义的函数的函数体内,包括:
利用所述随机种子对写入所述待处理数据和所述随机数的所述内存进行加密;
将加密后的内存插入所述自定义的函数的函数体内。
4.根据权利要求 1 所述的方法,其特征在于,所述动态链接库中保存有写入所述待处理数据和所述随机数的所述内存,表征所述内存的起始位置的第一信息,以及表征所述内存的大小的第二信息;其中,
所述第一信息由至少一个第一魔术字构成;
所述第二信息由第二魔术字对所述内存的大小进行加密得到。
5.根据权利要求 1 所述的方法,其特征在于,所述将写入待处理数据和随机数的所述内存插入所述自定义的函数的函数体内,包括:
将写入所述待处理数据和所述随机数的所述内存以机器码方式插入所述自定义的函数的函数体内。
6.一种数据处理装置,其特征在于,包括:
第一写模块,用于将待处理数据写入预置的内存中;所述将待处理数据写入预置的内存中,包括:将待处理数据划分为多个数据块,将所述多个数据块分散写入内存中的不同区域,若数据块的个数为 N,N 个数据块占用的存储区域的个数为M,则:1<M≤N,M 和 N 均为正整数;所述将所述多个数据块分散写入内存中的不同区域,包括:将各个数据块分别进行第一加密, 得到多个第一密文形式的数据块;所述将各个数据块分别进行第一加密,得到多个第一密文形式的数据块,包括:把数据块拆分为多个子数据块,计算所述多个子数据块中的至少部分子数据块的校验信息,所述校验信息为数据块的局部校验信息;利用所述校验信息对数据块进行加密时,将所述校验信息与校验信息对应的子数据块组合为新的数据,所述新的数据即为通过校验信息加密后的数据;将所述多个第一密文形式的数据块分散写入所述内存中的不同区域;
第二写模块,用于在所述内存中的空闲位置写入随机数,所述随机数根据随机种子产生;
保存模块,用于创建动态链接库源文件;在所述动态链接库源文件中定义动态链接库的入口函数,并在所述入口函数处加入自定义的函数;将写入待处理数据和随机数的所述内存插入所述自定义的函数的函数体内,并将内存的起始位置和大小插入所述自定义的函数的函数体内;对所述动态链接库源文件进行编译,得到动态链接库。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求 1-5 任一项所述的数据处理方法。
8.一种电子设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求 1-5中任一项所述的数据处理方法。
CN201810643472.7A 2018-06-21 2018-06-21 数据处理方法、装置、电子设备及存储介质 Active CN108830096B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810643472.7A CN108830096B (zh) 2018-06-21 2018-06-21 数据处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810643472.7A CN108830096B (zh) 2018-06-21 2018-06-21 数据处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN108830096A CN108830096A (zh) 2018-11-16
CN108830096B true CN108830096B (zh) 2021-02-26

Family

ID=64141808

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810643472.7A Active CN108830096B (zh) 2018-06-21 2018-06-21 数据处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN108830096B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750782B (zh) * 2018-07-05 2022-05-13 武汉斗鱼网络科技有限公司 一种程序退出的方法及相关设备
CN109815750A (zh) * 2018-12-28 2019-05-28 深圳市德名利电子有限公司 一种存储装置的加密方法及存储装置
CN110414567B (zh) * 2019-07-01 2020-08-04 阿里巴巴集团控股有限公司 数据处理方法、装置和电子设备
CN110661618B (zh) * 2019-08-20 2021-04-27 创新先进技术有限公司 数据传输方法、装置和电子设备
CN110532129A (zh) * 2019-09-02 2019-12-03 腾讯科技(深圳)有限公司 一种文件加密存储的方法、装置、设备以及存储介质
CN111666577B (zh) * 2020-06-07 2022-07-19 厦门亿联网络技术股份有限公司 一种数据解密方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402670A (zh) * 2011-08-03 2012-04-04 广东欧珀移动通信有限公司 一种文件加解密方法
CN104239757B (zh) * 2014-09-30 2017-04-19 北京奇虎科技有限公司 应用程序防止逆向的方法及装置、运行方法及终端
CN106960156B (zh) * 2016-01-08 2020-03-13 广州市动景计算机科技有限公司 基于应用程序的数据加密及访问方法、装置
CN107423630A (zh) * 2017-07-31 2017-12-01 腾讯科技(深圳)有限公司 数据处理方法和装置

Also Published As

Publication number Publication date
CN108830096A (zh) 2018-11-16

Similar Documents

Publication Publication Date Title
CN108830096B (zh) 数据处理方法、装置、电子设备及存储介质
US8948376B2 (en) Format-preserving encryption via rotating block encryption
US9397830B2 (en) Method and apparatus for encrypting and decrypting data
US20070086586A1 (en) Semi-public white-box cipher
US8619985B2 (en) Table splitting for cryptographic processes
US20070211890A1 (en) Table splitting for cryptographic processes
CN104732159A (zh) 一种文件处理方法及装置
CN111859415A (zh) 神经网络模型加密系统和方法
CN110210211A (zh) 一种数据保护的方法和计算设备
CN110119601A (zh) 基于应用程序安装包的程序加固方法及装置
CN112199730A (zh) 一种终端上应用数据的处理方法、装置及电子设备
US8832450B2 (en) Methods and apparatus for data hashing based on non-linear operations
CN106100829B (zh) 加密存储的方法及装置
CN110990846B (zh) 信息存储方法、设备及计算机可读存储介质
CN111967032A (zh) 基于混淆处理的文件加密方法及解密方法
CN107169370A (zh) 可执行文件的加密方法及加密装置
CN115766244A (zh) 车联网信息加密方法、装置、计算机设备和存储介质
CN105939192A (zh) 数据加密的方法及装置
KR101440680B1 (ko) 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치
CN116664123A (zh) 一种基于区块链技术的数字钱包设计方法
CN111523885B (zh) 区块链钱包的加密多账户构造方法、计算机可读存储介质和区块链加密多账户钱包
CN116781265A (zh) 一种数据加密的方法和装置
US10554399B2 (en) Method and apparatus for encrypting and decrypting data
US20210143978A1 (en) Method to secure a software code performing accesses to look-up tables
JP2011123229A (ja) プログラムコード暗号化装置及びプログラム

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
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20181116

Assignee: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000030

Denomination of invention: Data processing method, device, electronic equipment and storage medium

License type: Common License

Record date: 20210125

GR01 Patent grant
GR01 Patent grant