CN112597449B - 软件加密方法、装置、设备及存储介质 - Google Patents
软件加密方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112597449B CN112597449B CN202011523128.8A CN202011523128A CN112597449B CN 112597449 B CN112597449 B CN 112597449B CN 202011523128 A CN202011523128 A CN 202011523128A CN 112597449 B CN112597449 B CN 112597449B
- Authority
- CN
- China
- Prior art keywords
- software
- encrypted
- instruction
- information
- encryption
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 345
- 238000012795 verification Methods 0.000 claims description 114
- 238000007667 floating Methods 0.000 claims description 50
- 238000012545 processing Methods 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 5
- 230000000875 corresponding effect Effects 0.000 description 50
- 238000004891 communication Methods 0.000 description 7
- 238000005336 cracking Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000036632 reaction speed Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
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
Abstract
本发明公开了一种软件加密方法、装置、设备及存储介质,所述方法包括:接收客户端的当前系统环境下待加密软件信息;根据待加密软件信息生成待加密软件的加密算法指令;将加密算法指令发送至客户端,以使客户端根据加密算法指令确定目标加密算法,并使客户端根据目标加密算法对待加密软件进行加密。由于现有技术中软件被破解后须要重新发版才能防止软件被继续破解,而本发明不需要重新发布软件新版本,仅需根据待加密软件信息生成待加密软件的加密算法指令,将加密算法指令发送至客户端,以使客户端根据加密算法指令确定目标加密算法,以对软件进行加密,从而加快对破解者的打击速度,进而有效遏制被破解软件的传播。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种软件加密方法、装置、设备及存储介质。
背景技术
随着互联网技术的发展,软件加密显得越来越重要,现有技术中当黑客成功破解一个软件后,可复制该破解方案成功破解其它使用该保护方案的软件,此时软件厂商得知软件被破解后,通常需要重新加固安全方案再次发布新版本,从得知软件被破解到更新安全保护方案再发版,导致期间被破解软件大面积传播。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供了一种软件加密方法、装置、设备及存储介质,旨在解决如何加快对破解者的打击速度,有效遏制被破解软件的传播的技术问题。
为实现上述目的,本发明提供了一种软件加密方法,所述软件加密方法包括:
接收客户端的当前系统环境下待加密软件信息;
根据所述待加密软件信息生成所述待加密软件的加密算法指令;
将所述加密算法指令发送至所述客户端,以使所述客户端根据所述加密算法指令确定目标加密算法,并使所述客户端根据所述目标加密算法对所述待加密软件进行加密。
可选地,所述接收客户端的当前系统环境下待加密软件信息的步骤,包括:
接收客户端的当前系统环境下待加密软件密文;
根据所述待加密软件密文确定解密算法;
根据所述解密算法对所述待加密软件密文进行解密,以获取所述客户端的当前系统环境下待加密软件信息。
可选地,所述待加密软件信息包括软件信息和标准验证参数;
所述接收客户端的当前系统环境下待加密软件信息的步骤之后,还包括:
通过预设验证算法对所述软件信息进行计算,以确定所述待加密软件的安全验证参数;
将所述安全验证参数与所述标准验证参数进行匹配;
在所述安全验证参数与所述标准验证参数匹配一致时,执行所述根据所述待加密软件信息生成所述待加密软件的加密算法指令的步骤。
可选地,所述将所述安全验证参数与所述标准验证参数进行匹配的步骤之后,还包括:
在所述安全验证参数与所述标准验证参数匹配不一致时,获取所述待加密软件信息对应的目标协议地址;
根据所述目标协议地址确定地址拦截次数;
判断所述地址拦截次数是否大于或等于预设拦截次数阈值;
在所述地址拦截次数大于或等于所述预设拦截次数阈值时,将所述目标协议地址进行锁定处理。
可选地,所述判断所述地址拦截次数是否大于或等于预设拦截次数阈值的步骤之后,还包括:
在所述地址拦截次数小于所述预设拦截次数阈值时,将所述目标协议地址加入预设拦截名单。
可选地,所述根据所述待加密软件信息生成加密算法指令的步骤,包括:
根据所述待加密软件信息确定所述待加密软件的安全等级;
根据所述安全等级生成加密算法指令。
可选地,所述根据所述待加密软件信息确定所述待加密软件的安全等级的步骤,包括:
根据所述待加密软件信息确定所述待加密软件的加密完成次数;
根据所述加密完成次数确定所述待加密软件的安全等级。
可选地,所述根据所述加密完成次数确定所述待加密软件的安全等级的步骤,包括:
判断所述加密完成次数是否大于或等于预设加密阈值;
在所述加密完成次数大于或等于所述预设加密阈值,获取所述加密完成次数对应的预置加密算法指令,并根据所述预置加密算法指令确定所述待加密软件的安全等级。
可选地,所述根据所述待加密软件信息确定所述待加密软件的安全等级的步骤,还包括:
判断所述待加密软件信息中是否存在篡改信息;
在所述待加密软件信息中存在所述篡改信息时,根据所述篡改信息确定所述待加密软件的安全等级。
可选地,所述根据所述安全等级生成加密算法指令的步骤,包括:
根据所述安全等级对所述待加密软件信息进行分析处理,获得算法指令编码;
根据所述算法指令编码确定预设算法指令;
对所述预设算法指令进行加密,获得加密算法指令。
可选地,所述根据所述算法指令编码确定预设算法指令的步骤,包括:
对所述算法指令编码进行处理,以获取对应的指令浮点;
将所述指令浮点与预设等级映射关系表中的样本指令浮点进行匹配;
若匹配成功,则将匹配成功的所述样本指令浮点对应的样本算法指令等级作为所述待加密软件的算法指令等级;
根据所述算法指令等级确定预设算法指令。
可选地,所述对所述算法指令编码进行处理,以获取对应的指令浮点的步骤之前,还包括:
获取多个样本指令浮点;
根据多个所述样本指令浮点分别确定对应的样本算法指令等级;
根据多个所述样本指令浮点和所述样本算法指令等级建立预设等级映射关系表。
此外,为实现上述目的,本发明还提出一种软件加密装置,所述软件加密装置包括:
接收模块,用于接收客户端的当前系统环境下待加密软件信息;
生成模块,用于根据所述待加密软件信息生成所述待加密软件的加密算法指令;
加密模块,用于将所述加密算法指令发送至所述客户端,以使所述客户端根据所述加密算法指令确定目标加密算法,并使所述客户端根据所述目标加密算法对所述待加密软件进行加密。
可选地,所述接收模块,还用于接收客户端的当前系统环境下待加密软件密文;
所述接收模块,还用于根据所述待加密软件密文确定解密算法;
所述接收模块,还用于根据所述解密算法对所述待加密软件密文进行解密,以获取所述客户端的当前系统环境下待加密软件信息。
可选地,所述待加密软件信息包括软件信息和标准验证参数;
所述接收模块,还用于通过预设验证算法对所述软件信息进行计算,以确定所述待加密软件的安全验证参数;
所述接收模块,还用于将所述安全验证参数与所述标准验证参数进行匹配;
所述接收模块,还用于在所述安全验证参数与所述标准验证参数匹配一致时,执行所述根据所述待加密软件信息生成所述待加密软件的加密算法指令的步骤。
可选地,所述接收模块,还用于在所述安全验证参数与所述标准验证参数匹配不一致时,获取所述待加密软件信息对应的目标协议地址;
所述接收模块,还用于根据所述目标协议地址确定地址拦截次数;
所述接收模块,还用于判断所述地址拦截次数是否大于或等于预设拦截次数阈值;
所述接收模块,还用于在所述地址拦截次数大于或等于所述预设拦截次数阈值时,将所述目标协议地址进行锁定处理。
可选地,所述接收模块,还用于在所述地址拦截次数小于所述预设拦截次数阈值时,将所述目标协议地址加入预设拦截名单。
可选地,所述生成模块,还用于根据所述待加密软件信息确定所述待加密软件的安全等级;
所述生成模块,还用于根据所述安全等级生成加密算法指令。
此外,为实现上述目的,本发明还提出一种软件加密设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的软件加密程序,所述软件加密程序配置为实现如上文所述的软件加密方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有软件加密程序,所述软件加密程序被处理器执行时实现如上文所述的软件加密方法的步骤。
本发明首先接收客户端的当前系统环境下待加密软件信息,然后根据待加密软件信息生成待加密软件的加密算法指令,之后将加密算法指令发送至客户端,以使客户端根据加密算法指令确定目标加密算法,并使客户端根据目标加密算法对待加密软件进行加密,由于现有技术中软件被破解后须要重新发版才能防止软件被继续破解,而本发明不需要重新发布软件新版本,仅需根据待加密软件信息生成待加密软件的加密算法指令,将加密算法指令发送至客户端,以使客户端根据加密算法指令确定目标加密算法,以对软件进行加密,从而加快对破解者的打击速度,进而有效遏制被破解软件的传播。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的软件加密设备的结构示意图;
图2为本发明软件加密方法第一实施例的流程示意图;
图3为本发明软件加密方法第二实施例的流程示意图;
图4为本发明软件加密方法第三实施例的流程示意图;
图5为本发明软件加密装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的软件加密设备结构示意图。
如图1所示,该软件加密设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对软件加密设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及软件加密程序。
在图1所示的软件加密设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明软件加密设备中的处理器1001、存储器1005可以设置在软件加密设备中,所述软件加密设备通过处理器1001调用存储器1005中存储的软件加密程序,并执行本发明实施例提供的软件加密方法。
本发明实施例提供了一种软件加密方法,参照图2,图2为本发明软件加密方法第一实施例的流程示意图。
本实施例中,所述软件加密方法包括以下步骤:
步骤S10:接收客户端的当前系统环境下待加密软件信息。
易于理解的是,本实施例的执行主体可以为软件加密设备,也可以为服务器,该设备是具有数据处理、网络通讯和程序运行等功能的软件加密设备,也可以为其他设备,本实施例并不加以限制。
在对客户端的软件进行加密时,服务器需要获取客户端待加密软件的系统环境及系统环境下的待加密软件信息,待加密软件信息可以包括系统属性、环境信息、软件信息、设备信息、软件版本信息、操作系统版本及软件哈希值等。
接收客户端的当前系统环境下待加密软件信息的步骤,接收客户端的当前系统环境下待加密软件密文,也就是加密后的需要传输服务器的待加密软件信息,服务器接收客户端发送的待加密软件密文后,根据所述待加密软件密文确定解密算法,根据所述解密算法对所述待加密软件密文进行解密,以获取客户端的当前系统环境下待加密软件信息。
待加密软件信息包括软件信息和标准验证参数,其中标准验证参数可以为软件哈希值,软件信息可以为系统属性、环境信息、软件信息、设备信息、软件版本信息、操作系统版本等。
为了保证服务器接收客户端发送的待加密软件信息未被黑客恶意篡改,在接收客户端的当前系统环境下待加密软件信息的步骤之后,通过预设验证算法对软件信息进行计算,以确定待加密软件的安全验证参数,将安全验证参数与标准验证参数进行匹配,在安全验证参数与标准验证参数匹配一致时,执行根据待加密软件信息生成待加密软件的加密算法指令的步骤。
在安全验证参数与标准验证参数匹配不一致时,获取待加密软件信息对应的目标协议地址,根据目标协议地址确定地址拦截次数,判断地址拦截次数是否大于或等于预设拦截次数阈值,在地址拦截次数大于或等于预设拦截次数阈值时,将目标协议地址进行锁定处理,在地址拦截次数小于预设拦截次数阈值时,将目标协议地址加入预设拦截名单。
目标协议地址可以为待加密软件信息发送至服务器的IP地址,之后服务器判断IP地址是否之前出现过拦截状态,若出现过,需要获取IP地址对应的地址拦截次数,在地址拦截次数大于或等于预设拦截次数阈值时,将IP地址进行锁定处理,也就是说自动屏蔽该IP地址发送服务器的待加密软件信息或其它任何信息等,在地址拦截次数小于预设拦截次数阈值时,将IP地址加入预设拦截名单,但并不屏蔽该IP地址发送服务器的待加密软件信息或其它任何信息等。
预设拦截次数阈值可以为用户自定义设置的拦截次数,可以为5次,也可以为8次等,本实施例并不加以限制。
步骤S20:根据所述待加密软件信息生成所述待加密软件的加密算法指令。
将获取的待加密软件信息在服务器中的匹配数据库中进行匹配,匹配数据库中存在之前已加密过的软件信息,若匹配一致时,说明之前软件以进行过加密,但被破解了,需要再一次进行加密,之后在匹配数据库中确定待加密软件的加密完成次数,并根据加密完成次数确定待加密软件的安全等级。
匹配数据库还包括文件名、文件大小、程序文件信息-摘要算法5(Message DigestAlgorithm MD5)或安全哈希算法(Secure Hash Algorithm SHA1)、签名信息和版本信息、系统版本、设备指纹等。
也就是说,客户端程序把系统属性、环境信息、软件信息、设备信息发送给服务器,服务器端根据客户端发来的程序文件特征在其数据库中进行分析比对,并分析软件安全情况,根据软件安全情况编写对应的加密指令算法,加密指令算法可以为JS算法,其中,JS算法是根据系统环境、软件信息、设备信息编写的脚本,如检测是否有常用黑客软件的安装目录、加解密数据等。如果发现匹配记录就把对应的新加密算法指令返回给客户端,客户端程序根据服务器端返回的算法指令边解密边执行相应的动作。
其中,分析软件安全状态的方法可以为判断其签名信息包括是否有签名信息、签名信息是否被篡改,版本信息包括程序文件版本、版权、内部名称、产品名称、软件代码信息-摘要算法5(Message Digest Algorithm MD5)或安全哈希算法(Secure HashAlgorithm SHA1)、设备指纹是否被篡改等。服务器端判断程序的安全状态可以是这些属性的任意组合。
根据加密完成次数确定待加密软件的安全等级的步骤为,判断加密完成次数是否大于或等于预设加密阈值,在加密完成次数大于或等于预设加密阈值时,获取加密完成次数对应的预置加密算法指令,预置加密算法指令为每次完成加密对应的加密算法指令,并根据预置加密算法指令确定待加密软件的安全等级。
根据加密完成次数确定待加密软件的安全等级的步骤还可以为,判断待加密软件信息中是否存在篡改信息,在待加密软件信息中存在篡改信息时,根据篡改信息确定待加密软件的安全等级,也就是说,可以将待加密软件信息和匹配数据库中的软件信息进行匹配,若发现匹配度为百分之九十九,就证明该待加密软件信息存在篡改,之后根据篡改信息的内容确定安全等级。
待加密完成次数越多和篡改信息内容越多,安全等级越低,相对的,安全等级越低对应的预设算法指令越高,也就是说加密算法越高,越安全。
根据所述安全等级生成加密算法指令的步骤,根据安全等级对待加密软件信息进行分析处理,获得算法指令编码,根据算法指令编码确定预设算法指令,对预设算法指令进行加密,获得加密算法指令,也就是说,算法指令编码对应预设算法指令。
根据所述算法指令编码确定预设算法指令的步骤,对算法指令编码进行处理,以获取对应的指令浮点,将所述指令浮点与预设等级映射关系表中的样本指令浮点进行匹配,若匹配成功,则将匹配成功的所述样本指令浮点对应的样本算法指令等级作为所述待加密软件的算法指令等级,根据所述算法指令等级确定预设算法指令。
对所述算法指令编码进行处理,以获取对应的指令浮点的步骤之前获取多个样本指令浮点,根据多个样本指令浮点分别确定对应的样本算法指令等级,根据多个样本指令浮点和样本算法指令等级建立预设等级映射关系表。
也就是说,对待加密软件信息进行分析处理,获得算法指令编码,根据算法指令编码,确定对应的指令浮点,并根据指令浮点确定算法指令等级,最后根据算法指令等级确定预设算法指令。
预设算法指令也可以为编译自定义指令,编译自定义指令是通过自己实现编译器将js源码词法分析、语法分析、语义分析生成自定义指令并加密。
步骤S30:将所述加密算法指令发送至所述客户端,以使所述客户端根据所述加密算法指令确定目标加密算法,并使所述客户端根据所述目标加密算法对所述待加密软件进行加密。
服务器将加密算法指令发送至客户端,客户端根据加密算法指令进行解密,以获取对应的目标加密算法,之后客户端根据目标加密算法对待加密软件进行和加密。
根据加密算法指令确定目标加密算法的步骤为,对加密算法指令进行解密,获得解密算法指令,根据解密算法指令从软件加密算法集中确定目标加密算法,软件加密算法集包括多个加密算法。
根据所述加密算法指令确定目标加密算法的步骤的步骤之后,根据目标加密算法进行验证处理,获得加密验证编码,根据加密验证编码确定加密验证指令,判断加密验证指令与所述加密算法指令是否一致,在加密验证指令与加密算法指令一致时,根据所述目标加密算法对所述待加密软件进行加密,在加密验证指令与加密算法指令不一致时,获取当前系统环境下的待加密软件信息,重新进行算法指令加密。
根据目标加密算法对待加密软件进行加密的步骤之后,对加密后的待加密软件进行软件安全验证,生成安全验证报告,判断安全验证报告是否满足预设安全验证条件,在安全验证报告不满足所述预设安全验证条件时,根据所述待加密软件信息生成所述待加密软件的加密算法指令。
安全验证报告可以为安全验证数据,预设安全验证条件也可以为安全验证阈值,若安全验证数据为90时,预设安全验证阈值为85,则安全验证数据大于预设安全验证阈值时,则将加密后的软件进行发布,若安全验证数据为70,预设安全验证阈值为85,则安全验证数据小于预设安全验证阈值,则返回根据待加密软件信息生成待加密软件的加密算法指令,重新对待加密软件进行加密。
也就是说,客户端发送系统、设备、软件、环境信息给服务器,服务器根据系统、设备、软件、环境信息匹配数据库,并分析软件安全情况,之后根据软件安全情况编写JS算法,以生成对应的算法指令,并对算法指令进行加密,获得加密算法指令,将加密算法指令发送至客户端,客户端收到服务器端返回的算法指令后交给客户端虚拟机引擎执行,为了增加代码安全性,服务器端返回给客户端的算法指令通过加密的,只有在运行时客户端才解密当前指令。
虚拟机保护引擎的保护原理是将JS源码转换成自定义虚拟机的指令编码,由于自定义虚拟机指令编码的私密性,破解人员无法一一进行解读则被转码的指令得到更加安全的保护,在此引擎解释自身指令编码时,还进行了指令级别的加解密操作,被执行到的指令才进行解密,没有执行到的指令一直保持加密存储状态。指令执行完毕后立刻丢弃被解密缓存指令。采用这些方式联合来更进一步的加强保护代码的安全性。虚拟机它还遵循一个简单的模式:读取;解码;执行。首先,我们从指令集合或代码中读取下一条指令,然后将指令解码并执行解码后的指令等。
进一步,在对待加密软件进行加密后,还需要判断软件是否安全,判断条件可以是指定黑客文件、目录、工具是否存在,系统环境是否安全、软件属性是否满足条件(如文件的MD5是否为指定的值);签名、代码、设备指纹是否被篡改等。
以上为了便于理解,以下进行举例说明:
假设客户端把APP的包名和MD5值、签名信息、设备信息发送给服务器端,服务器端根据包名和MD5值匹配到有对应的游戏APP是否被破解,分析当前上报信息是否有黑客行为、设备是否被篡改等,发现被破解服务器端更换新算法,将新算法编译生成自定义指令集后加密下发给游戏APP,游戏APP执行新算法逻辑,被破解的老算法失效,整个被破解的APP就失效。
第一、根据客户端的系统环境(包括操作系统版本,设备信息,软件签名信息,黑客工具等)从服务器端更换加密算法,在尽量减少软件开发成本与最少资源的同时加快了防御黑客破解的反应速度。
第二、根据程序文件的属性和其所在系统上下文环境的属性从服务器端获取加密方法,可根据程序被破解的特征快速调整加密方法,对被破解程序做到快速精准防御。
以上两点不必更新程序与发版程序文件就可以达到云端控制更新算法程序。对比传统的通过升级软件和发版程序来增强安全防护的方法,本实施例大大加快了对黑客破解的打击,有效遏制了被破解程序的传播。
本实施例中,首先接收客户端的当前系统环境下待加密软件信息,然后根据待加密软件信息生成待加密软件的加密算法指令,之后将加密算法指令发送至客户端,以使客户端根据加密算法指令确定目标加密算法,并使客户端根据目标加密算法对待加密软件进行加密,由于现有技术中软件被破解后须要重新发版才能防止软件被继续破解,而本实施例不需要重新发布软件新版本,仅需根据待加密软件信息生成待加密软件的加密算法指令,将加密算法指令发送至客户端,以使客户端根据加密算法指令确定目标加密算法,以对软件进行加密,从而加快对破解者的打击速度,进而有效遏制被破解软件的传播。
参考图3,图3为本发明软件加密方法第二实施例的流程示意图。
基于上述第一实施例,在本实施例中,所述步骤S10,还包括:
步骤S101:接收客户端的当前系统环境下待加密软件密文。
待加密软件密文可以为客户端将待加密软件信息进行加密后生成的待加密软件密文,为了保证服务器接收不被黑客篡改的软件信息,保证待加密软件信息的安全,其中,待加密软件信息包括软件信息和标准验证参数,其中标准验证参数可以为软件哈希值,软件信息可以为系统属性、环境信息、软件信息、设备信息、软件版本信息、操作系统版本等。
步骤S102:根据所述待加密软件密文确定解密算法。
服务器在接收到待加密软件密文时,会自动匹配对应的解密算法,可以理解为,服务器根据待加密软件密文提取关键点,之后根据关键点从解密数据库中查找对应的解密算法,解密数据库为多个样本关键点和多个样本解密算法构建,多个样本关键点和多个样本解密算法一一对应。
步骤S103:根据所述解密算法对所述待加密软件密文进行解密,以获取所述客户端的当前系统环境下待加密软件信息。
服务器通过解密算法对待加密软件密文进行解密,以获取客户端的当前系统环境下待加密软件信息,在接收客户端的当前系统环境下待加密软件信息的步骤之后,通过预设验证算法对软件信息进行计算,以确定待加密软件的安全验证参数,将安全验证参数与标准验证参数进行匹配,在安全验证参数与标准验证参数匹配一致时,证明接收到的待加密软件信息未被黑客恶意篡改。
本实施例中,首先接收客户端的当前系统环境下待加密软件密文,之后根据待加密软件密文确定解密算法,并根据解密算法对待加密软件密文进行解密,以获取客户端的当前系统环境下待加密软件信息,从而避免服务器接收客户端发送的待加密软件信息被黑客恶意篡改,进而提高待加密软件信息的安全性。
参考图4,图4为本发明软件加密方法第三实施例的流程示意图。
基于上述第一实施例,在本实施例中,所述步骤S20,还包括:
步骤S201:根据所述待加密软件信息确定所述待加密软件的安全等级。
将获取的待加密软件信息在服务器中的匹配数据库中进行匹配,匹配数据库中存在之前已加密过的软件信息,若匹配一致时,说明之前软件以进行过加密,但被破解了,需要再一次进行加密,之后在匹配数据库中确定待加密软件的加密完成次数,并根据加密完成次数确定待加密软件的安全等级。
匹配数据库还包括文件名、文件大小、程序文件信息-摘要算法5(Message DigestAlgorithm MD5)或安全哈希算法(Secure Hash Algorithm SHA1)、签名信息和版本信息、系统版本、设备指纹等。
根据加密完成次数确定待加密软件的安全等级的步骤为,判断加密完成次数是否大于或等于预设加密阈值,在加密完成次数大于或等于预设加密阈值时,获取加密完成次数对应的预置加密算法指令,预置加密算法指令为每次完成加密对应的加密算法指令,并根据预置加密算法指令确定待加密软件的安全等级。
根据加密完成次数确定待加密软件的安全等级的步骤还可以为,判断待加密软件信息中是否存在篡改信息,在待加密软件信息中存在篡改信息时,根据篡改信息确定待加密软件的安全等级,也就是说,可以将待加密软件信息和匹配数据库中的软件信息进行匹配,若发现匹配度为百分之九十九,就证明该待加密软件信息存在篡改,之后根据篡改信息的内容确定安全等级。
待加密完成次数越多和篡改信息内容越多,安全等级越低,相对的,安全等级越低对应的预设算法指令越高,也就是说加密算法越高,越安全。
步骤S202:根据所述安全等级生成加密算法指令。
根据所述安全等级生成加密算法指令的步骤,根据安全等级对待加密软件信息进行分析处理,获得算法指令编码,根据算法指令编码确定预设算法指令,对预设算法指令进行加密,获得加密算法指令,也就是说,算法指令编码对应预设算法指令。
根据所述算法指令编码确定预设算法指令的步骤,对算法指令编码进行处理,以获取对应的指令浮点,将所述指令浮点与预设等级映射关系表中的样本指令浮点进行匹配,若匹配成功,则将匹配成功的所述样本指令浮点对应的样本算法指令等级作为所述待加密软件的算法指令等级,根据所述算法指令等级确定预设算法指令。
对所述算法指令编码进行处理,以获取对应的指令浮点的步骤之前获取多个样本指令浮点,根据多个样本指令浮点分别确定对应的样本算法指令等级,根据多个样本指令浮点和样本算法指令等级建立预设等级映射关系表。
也就是说,对待加密软件信息进行分析处理,获得算法指令编码,根据算法指令编码,确定对应的指令浮点,并根据指令浮点确定算法指令等级,最后根据算法指令等级确定预设算法指令。
预设算法指令也可以为编译自定义指令,编译自定义指令是通过自己实现编译器将js源码词法分析、语法分析、语义分析生成自定义指令并加密,最后得到对应的加密算法指令,也就是说加密算法指令为用那种加密算法对待加密软件进行加密的算法指令,当前的算法指令为加密的,因此生成为加密算法指令。
本实施例中,首先根据待加密软件信息确定待加密软件的安全等级,之后根据安全等级生成加密算法指令,本实施例通过待加密软件的安全等级以确定对应的加密算法指令,进而提高了待加密软件的加密效率和安全性。
参照图5,图5为本发明软件加密装置第一实施例的结构框图。
如图5所示,本发明实施例提出的软件加密装置包括:
接收模块5001,用于接收客户端的当前系统环境下待加密软件信息。
易于理解的是,本实施例的执行主体可以为软件加密设备,也可以为服务器,该设备是具有数据处理、网络通讯和程序运行等功能的软件加密设备,也可以为其他设备,本实施例并不加以限制。
在对客户端的软件进行加密时,服务器需要获取客户端待加密软件的系统环境及系统环境下的待加密软件信息,待加密软件信息可以包括系统属性、环境信息、软件信息、设备信息、软件版本信息、操作系统版本及软件哈希值等。
接收客户端的当前系统环境下待加密软件信息的步骤,接收客户端的当前系统环境下待加密软件密文,也就是加密后的需要传输服务器的待加密软件信息,服务器接收客户端发送的待加密软件密文后,根据所述待加密软件密文确定解密算法,根据所述解密算法对所述待加密软件密文进行解密,以获取客户端的当前系统环境下待加密软件信息。
待加密软件信息包括软件信息和标准验证参数,其中标准验证参数可以为软件哈希值,软件信息可以为系统属性、环境信息、软件信息、设备信息、软件版本信息、操作系统版本等。
为了保证服务器接收客户端发送的待加密软件信息未被黑客恶意篡改,在接收客户端的当前系统环境下待加密软件信息的步骤之后,通过预设验证算法对软件信息进行计算,以确定待加密软件的安全验证参数,将安全验证参数与标准验证参数进行匹配,在安全验证参数与标准验证参数匹配一致时,执行根据待加密软件信息生成待加密软件的加密算法指令的步骤。
在安全验证参数与标准验证参数匹配不一致时,获取待加密软件信息对应的目标协议地址,根据目标协议地址确定地址拦截次数,判断地址拦截次数是否大于或等于预设拦截次数阈值,在地址拦截次数大于或等于预设拦截次数阈值时,将目标协议地址进行锁定处理,在地址拦截次数小于预设拦截次数阈值时,将目标协议地址加入预设拦截名单。
目标协议地址可以为待加密软件信息发送至服务器的IP地址,之后服务器判断IP地址是否之前出现过拦截状态,若出现过,需要获取IP地址对应的地址拦截次数,在地址拦截次数大于或等于预设拦截次数阈值时,将IP地址进行锁定处理,也就是说自动屏蔽该IP地址发送服务器的待加密软件信息或其它任何信息等,在地址拦截次数小于预设拦截次数阈值时,将IP地址加入预设拦截名单,但并不屏蔽该IP地址发送服务器的待加密软件信息或其它任何信息等。
预设拦截次数阈值可以为用户自定义设置的拦截次数,可以为5次,也可以为8次等,本实施例并不加以限制。
生成模块5002,用于根据所述待加密软件信息生成所述待加密软件的加密算法指令。
将获取的待加密软件信息在服务器中的匹配数据库中进行匹配,匹配数据库中存在之前已加密过的软件信息,若匹配一致时,说明之前软件以进行过加密,但被破解了,需要再一次进行加密,之后在匹配数据库中确定待加密软件的加密完成次数,并根据加密完成次数确定待加密软件的安全等级。
匹配数据库还包括文件名、文件大小、程序文件信息-摘要算法5(Message DigestAlgorithm MD5)或安全哈希算法(Secure Hash Algorithm SHA1)、签名信息和版本信息、系统版本、设备指纹等。
也就是说,客户端程序把系统属性、环境信息、软件信息、设备信息发送给服务器,服务器端根据客户端发来的程序文件特征在其数据库中进行分析比对,并分析软件安全情况,根据软件安全情况编写对应的加密指令算法,加密指令算法可以为JS算法,其中,JS算法是根据系统环境、软件信息、设备信息编写的脚本,如检测是否有常用黑客软件的安装目录、加解密数据等。如果发现匹配记录就把对应的新加密算法指令返回给客户端,客户端程序根据服务器端返回的算法指令边解密边执行相应的动作。
其中,分析软件安全状态的方法可以为判断其签名信息包括是否有签名信息、签名信息是否被篡改,版本信息包括程序文件版本、版权、内部名称、产品名称、软件代码信息-摘要算法5(Message Digest Algorithm MD5)或安全哈希算法(Secure HashAlgorithm SHA1)、设备指纹是否被篡改等。服务器端判断程序的安全状态可以是这些属性的任意组合。
根据加密完成次数确定待加密软件的安全等级的步骤为,判断加密完成次数是否大于或等于预设加密阈值,在加密完成次数大于或等于预设加密阈值时,获取加密完成次数对应的预置加密算法指令,预置加密算法指令为每次完成加密对应的加密算法指令,并根据预置加密算法指令确定待加密软件的安全等级。
根据加密完成次数确定待加密软件的安全等级的步骤还可以为,判断待加密软件信息中是否存在篡改信息,在待加密软件信息中存在篡改信息时,根据篡改信息确定待加密软件的安全等级,也就是说,可以将待加密软件信息和匹配数据库中的软件信息进行匹配,若发现匹配度为百分之九十九,就证明该待加密软件信息存在篡改,之后根据篡改信息的内容确定安全等级。
待加密完成次数越多和篡改信息内容越多,安全等级越低,相对的,安全等级越低对应的预设算法指令越高,也就是说加密算法越高,越安全。
根据所述安全等级生成加密算法指令的步骤,根据安全等级对待加密软件信息进行分析处理,获得算法指令编码,根据算法指令编码确定预设算法指令,对预设算法指令进行加密,获得加密算法指令,也就是说,算法指令编码对应预设算法指令。
根据所述算法指令编码确定预设算法指令的步骤,对算法指令编码进行处理,以获取对应的指令浮点,将所述指令浮点与预设等级映射关系表中的样本指令浮点进行匹配,若匹配成功,则将匹配成功的所述样本指令浮点对应的样本算法指令等级作为所述待加密软件的算法指令等级,根据所述算法指令等级确定预设算法指令。
对所述算法指令编码进行处理,以获取对应的指令浮点的步骤之前获取多个样本指令浮点,根据多个样本指令浮点分别确定对应的样本算法指令等级,根据多个样本指令浮点和样本算法指令等级建立预设等级映射关系表。
也就是说,对待加密软件信息进行分析处理,获得算法指令编码,根据算法指令编码,确定对应的指令浮点,并根据指令浮点确定算法指令等级,最后根据算法指令等级确定预设算法指令。
预设算法指令也可以为编译自定义指令,编译自定义指令是通过自己实现编译器将js源码词法分析、语法分析、语义分析生成自定义指令并加密。
加密模块5003,用于将所述加密算法指令发送至所述客户端,以使所述客户端根据所述加密算法指令确定目标加密算法,并使所述客户端根据所述目标加密算法对所述待加密软件进行加密。
服务器将加密算法指令发送至客户端,客户端根据加密算法指令进行解密,以获取对应的目标加密算法,之后客户端根据目标加密算法对待加密软件进行和加密。
根据加密算法指令确定目标加密算法的步骤为,对加密算法指令进行解密,获得解密算法指令,根据解密算法指令从软件加密算法集中确定目标加密算法,软件加密算法集包括多个加密算法。
根据所述加密算法指令确定目标加密算法的步骤的步骤之后,根据目标加密算法进行验证处理,获得加密验证编码,根据加密验证编码确定加密验证指令,判断加密验证指令与所述加密算法指令是否一致,在加密验证指令与加密算法指令一致时,根据所述目标加密算法对所述待加密软件进行加密,在加密验证指令与加密算法指令不一致时,获取当前系统环境下的待加密软件信息,重新进行算法指令加密。
根据目标加密算法对待加密软件进行加密的步骤之后,对加密后的待加密软件进行软件安全验证,生成安全验证报告,判断安全验证报告是否满足预设安全验证条件,在安全验证报告不满足所述预设安全验证条件时,根据所述待加密软件信息生成所述待加密软件的加密算法指令。
安全验证报告可以为安全验证数据,预设安全验证条件也可以为安全验证阈值,若安全验证数据为90时,预设安全验证阈值为85,则安全验证数据大于预设安全验证阈值时,则将加密后的软件进行发布,若安全验证数据为70,预设安全验证阈值为85,则安全验证数据小于预设安全验证阈值,则返回根据待加密软件信息生成待加密软件的加密算法指令,重新对待加密软件进行加密。
也就是说,客户端发送系统、设备、软件、环境信息给服务器,服务器根据系统、设备、软件、环境信息匹配数据库,并分析软件安全情况,之后根据软件安全情况编写JS算法,以生成对应的算法指令,并对算法指令进行加密,获得加密算法指令,将加密算法指令发送至客户端,客户端收到服务器端返回的算法指令后交给客户端虚拟机引擎执行,为了增加代码安全性,服务器端返回给客户端的算法指令通过加密的,只有在运行时客户端才解密当前指令。
虚拟机保护引擎的保护原理是将JS源码转换成自定义虚拟机的指令编码,由于自定义虚拟机指令编码的私密性,破解人员无法一一进行解读则被转码的指令得到更加安全的保护,在此引擎解释自身指令编码时,还进行了指令级别的加解密操作,被执行到的指令才进行解密,没有执行到的指令一直保持加密存储状态。指令执行完毕后立刻丢弃被解密缓存指令。采用这些方式联合来更进一步的加强保护代码的安全性。虚拟机它还遵循一个简单的模式:读取;解码;执行。首先,我们从指令集合或代码中读取下一条指令,然后将指令解码并执行解码后的指令等。
进一步,在对待加密软件进行加密后,还需要判断软件是否安全,判断条件可以是指定黑客文件、目录、工具是否存在,系统环境是否安全、软件属性是否满足条件(如文件的MD5是否为指定的值);签名、代码、设备指纹是否被篡改等。
以上为了便于理解,以下进行举例说明:
假设客户端把APP的包名和MD5值、签名信息、设备信息发送给服务器端,服务器端根据包名和MD5值匹配到有对应的游戏APP是否被破解,分析当前上报信息是否有黑客行为、设备是否被篡改等,发现被破解服务器端更换新算法,将新算法编译生成自定义指令集后加密下发给游戏APP,游戏APP执行新算法逻辑,被破解的老算法失效,整个被破解的APP就失效。
第一、根据客户端的系统环境(包括操作系统版本,设备信息,软件签名信息,黑客工具等)从服务器端更换加密算法,在尽量减少软件开发成本与最少资源的同时加快了防御黑客破解的反应速度。
第二、根据程序文件的属性和其所在系统上下文环境的属性从服务器端获取加密方法,可根据程序被破解的特征快速调整加密方法,对被破解程序做到快速精准防御。
以上两点不必更新程序与发版程序文件就可以达到云端控制更新算法程序。对比传统的通过升级软件和发版程序来增强安全防护的方法,本实施例大大加快了对黑客破解的打击,有效遏制了被破解程序的传播。
本实施例中,首先接收客户端的当前系统环境下待加密软件信息,然后根据待加密软件信息生成待加密软件的加密算法指令,之后将加密算法指令发送至客户端,以使客户端根据加密算法指令确定目标加密算法,并使客户端根据目标加密算法对待加密软件进行加密,由于现有技术中软件被破解后须要重新发版才能防止软件被继续破解,而本实施例不需要重新发布软件新版本,仅需根据待加密软件信息生成待加密软件的加密算法指令,将加密算法指令发送至客户端,以使客户端根据加密算法指令确定目标加密算法,以对软件进行加密,从而加快对破解者的打击速度,进而有效遏制被破解软件的传播。
本发明软件加密装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (16)
1.一种软件加密方法,其特征在于,所述软件加密方法包括:
接收客户端的当前系统环境下待加密软件信息;
根据所述待加密软件信息生成所述待加密软件的加密算法指令;
将所述加密算法指令发送至所述客户端,以使所述客户端根据所述加密算法指令确定目标加密算法,并使所述客户端根据所述目标加密算法对所述待加密软件进行加密;
所述根据所述待加密软件信息生成加密算法指令的步骤,包括:
根据所述待加密软件信息确定所述待加密软件的安全等级;
根据所述安全等级生成加密算法指令;
所述根据所述安全等级生成加密算法指令的步骤,包括:
根据所述安全等级对所述待加密软件信息进行分析处理,获得算法指令编码;
根据所述算法指令编码确定预设算法指令;
对所述预设算法指令进行加密,获得加密算法指令;
所述根据所述算法指令编码确定预设算法指令的步骤,包括:
对所述算法指令编码进行处理,以获取对应的指令浮点;
将所述指令浮点与预设等级映射关系表中的样本指令浮点进行匹配;
若匹配成功,则将匹配成功的所述样本指令浮点对应的样本算法指令等级作为所述待加密软件的算法指令等级;
根据所述算法指令等级确定预设算法指令。
2.如权利要求1所述的方法,其特征在于,所述接收客户端的当前系统环境下待加密软件信息的步骤,包括:
接收客户端的当前系统环境下待加密软件密文;
根据所述待加密软件密文确定解密算法;
根据所述解密算法对所述待加密软件密文进行解密,以获取所述客户端的当前系统环境下待加密软件信息。
3.如权利要求2所述的方法,其特征在于,所述待加密软件信息包括软件信息和标准验证参数;
所述接收客户端的当前系统环境下待加密软件信息的步骤之后,还包括:
通过预设验证算法对所述软件信息进行计算,以确定所述待加密软件的安全验证参数;
将所述安全验证参数与所述标准验证参数进行匹配;
在所述安全验证参数与所述标准验证参数匹配一致时,执行所述根据所述待加密软件信息生成所述待加密软件的加密算法指令的步骤。
4.如权利要求3所述的方法,其特征在于,所述将所述安全验证参数与所述标准验证参数进行匹配的步骤之后,还包括:
在所述安全验证参数与所述标准验证参数匹配不一致时,获取所述待加密软件信息对应的目标协议地址;
根据所述目标协议地址确定地址拦截次数;
判断所述地址拦截次数是否大于或等于预设拦截次数阈值;
在所述地址拦截次数大于或等于所述预设拦截次数阈值时,将所述目标协议地址进行锁定处理。
5.如权利要求4所述的方法,其特征在于,所述判断所述地址拦截次数是否大于或等于预设拦截次数阈值的步骤之后,还包括:
在所述地址拦截次数小于所述预设拦截次数阈值时,将所述目标协议地址加入预设拦截名单。
6.如权利要求1所述的方法,其特征在于,所述根据所述待加密软件信息确定所述待加密软件的安全等级的步骤,包括:
根据所述待加密软件信息确定所述待加密软件的加密完成次数;
根据所述加密完成次数确定所述待加密软件的安全等级。
7.如权利要求6所述的方法,其特征在于,所述根据所述加密完成次数确定所述待加密软件的安全等级的步骤,包括:
判断所述加密完成次数是否大于或等于预设加密阈值;
在所述加密完成次数大于或等于所述预设加密阈值,获取所述加密完成次数对应的预置加密算法指令,并根据所述预置加密算法指令确定所述待加密软件的安全等级。
8.如权利要求1所述的方法,其特征在于,所述根据所述待加密软件信息确定所述待加密软件的安全等级的步骤,还包括:
判断所述待加密软件信息中是否存在篡改信息;
在所述待加密软件信息中存在所述篡改信息时,根据所述篡改信息确定所述待加密软件的安全等级。
9.如权利要求1所述的方法,其特征在于,所述对所述算法指令编码进行处理,以获取对应的指令浮点的步骤之前,还包括:
获取多个样本指令浮点;
根据多个所述样本指令浮点分别确定对应的样本算法指令等级;
根据多个所述样本指令浮点和所述样本算法指令等级建立预设等级映射关系表。
10.一种软件加密装置,其特征在于,所述软件加密装置包括:
接收模块,用于接收客户端的当前系统环境下待加密软件信息;
生成模块,用于根据所述待加密软件信息生成所述待加密软件的加密算法指令;
加密模块,用于将所述加密算法指令发送至所述客户端,以使所述客户端根据所述加密算法指令确定目标加密算法,并使所述客户端根据所述目标加密算法对所述待加密软件进行加密;
所述生成模块,还用于根据所述待加密软件信息确定所述待加密软件的安全等级;所述生成模块,还用于根据所述安全等级生成加密算法指令;
所述生成模块,还用于根据所述安全等级对所述待加密软件信息进行分析处理,获得算法指令编码;根据所述算法指令编码确定预设算法指令;对所述预设算法指令进行加密,获得加密算法指令;
所述生成模块,还用于对所述算法指令编码进行处理,以获取对应的指令浮点;将所述指令浮点与预设等级映射关系表中的样本指令浮点进行匹配;若匹配成功,则将匹配成功的所述样本指令浮点对应的样本算法指令等级作为所述待加密软件的算法指令等级;根据所述算法指令等级确定预设算法指令。
11.如权利要求10所述的装置,其特征在于,所述接收模块,还用于接收客户端的当前系统环境下待加密软件密文;
所述接收模块,还用于根据所述待加密软件密文确定解密算法;
所述接收模块,还用于根据所述解密算法对所述待加密软件密文进行解密,以获取所述客户端的当前系统环境下待加密软件信息。
12.如权利要求11所述的装置,其特征在于,所述待加密软件信息包括软件信息和标准验证参数;
所述接收模块,还用于通过预设验证算法对所述软件信息进行计算,以确定所述待加密软件的安全验证参数;
所述接收模块,还用于将所述安全验证参数与所述标准验证参数进行匹配;
所述接收模块,还用于在所述安全验证参数与所述标准验证参数匹配一致时,执行所述根据所述待加密软件信息生成所述待加密软件的加密算法指令的步骤。
13.如权利要求12所述的装置,其特征在于,所述接收模块,还用于在所述安全验证参数与所述标准验证参数匹配不一致时,获取所述待加密软件信息对应的目标协议地址;
所述接收模块,还用于根据所述目标协议地址确定地址拦截次数;
所述接收模块,还用于判断所述地址拦截次数是否大于或等于预设拦截次数阈值;
所述接收模块,还用于在所述地址拦截次数大于或等于所述预设拦截次数阈值时,将所述目标协议地址进行锁定处理。
14.如权利要求13所述的装置,其特征在于,所述接收模块,还用于在所述地址拦截次数小于所述预设拦截次数阈值时,将所述目标协议地址加入预设拦截名单。
15.一种软件加密设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的软件加密程序,所述软件加密程序配置为实现如权利要求1至9中任一项所述的软件加密方法的步骤。
16.一种存储介质,其特征在于,所述存储介质上存储有软件加密程序,所述软件加密程序被处理器执行时实现如权利要求1至9任一项所述的软件加密方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011523128.8A CN112597449B (zh) | 2020-12-21 | 2020-12-21 | 软件加密方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011523128.8A CN112597449B (zh) | 2020-12-21 | 2020-12-21 | 软件加密方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112597449A CN112597449A (zh) | 2021-04-02 |
CN112597449B true CN112597449B (zh) | 2022-11-04 |
Family
ID=75199838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011523128.8A Active CN112597449B (zh) | 2020-12-21 | 2020-12-21 | 软件加密方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112597449B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8533859B2 (en) * | 2009-04-13 | 2013-09-10 | Aventyn, Inc. | System and method for software protection and secure software distribution |
CN103324871A (zh) * | 2013-05-23 | 2013-09-25 | 董礼貌 | 一种软件万变链接设备、系统和方法 |
CN105164969A (zh) * | 2013-12-06 | 2015-12-16 | 北京新媒传信科技有限公司 | 即时通信客户端的识别方法和识别系统 |
CN109040134A (zh) * | 2018-09-28 | 2018-12-18 | 武汉斗鱼网络科技有限公司 | 一种信息加密的设计方法及相关装置 |
-
2020
- 2020-12-21 CN CN202011523128.8A patent/CN112597449B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8533859B2 (en) * | 2009-04-13 | 2013-09-10 | Aventyn, Inc. | System and method for software protection and secure software distribution |
CN103324871A (zh) * | 2013-05-23 | 2013-09-25 | 董礼貌 | 一种软件万变链接设备、系统和方法 |
CN105164969A (zh) * | 2013-12-06 | 2015-12-16 | 北京新媒传信科技有限公司 | 即时通信客户端的识别方法和识别系统 |
CN109040134A (zh) * | 2018-09-28 | 2018-12-18 | 武汉斗鱼网络科技有限公司 | 一种信息加密的设计方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112597449A (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110519309B (zh) | 数据传输方法、装置、终端、服务器及存储介质 | |
US7694139B2 (en) | Securing executable content using a trusted computing platform | |
US8850211B2 (en) | Method and apparatus for improving code and data signing | |
CN109194625B (zh) | 一种基于云端服务器的客户端应用保护方法、装置及存储介质 | |
CN106454528A (zh) | 基于可信执行环境的业务处理方法和客户端 | |
CN109284585B (zh) | 一种脚本加密方法、脚本解密运行方法和相关装置 | |
CN110276198B (zh) | 一种基于概率预测的嵌入式可变粒度控制流验证方法及系统 | |
KR20140061459A (ko) | 클라우드 기술을 사용한 멀웨어에 대한 동적 클리닝 | |
US20180204004A1 (en) | Authentication method and apparatus for reinforced software | |
CN114662087B (zh) | 一种多端验证的安全芯片固件更新方法及装置 | |
CN110071937B (zh) | 基于区块链的登录方法、系统及存储介质 | |
CN105099705A (zh) | 一种基于usb协议的安全通信方法及其系统 | |
CN108270574B (zh) | 一种白名单库文件的安全加载方法及装置 | |
CN111460410A (zh) | 服务器登录方法、装置、系统与计算机可读存储介质 | |
CN111585995B (zh) | 安全风控信息传输、处理方法、装置、计算机设备及存储介质 | |
CN111143808B (zh) | 系统安全认证方法、装置及计算设备、存储介质 | |
US20210248245A1 (en) | Calculation device, calculation method, calculation program and calculation system | |
CN114244522A (zh) | 信息保护方法、装置、电子设备及计算机可读存储介质 | |
CN112559991A (zh) | 系统安全登录方法、装置、设备及存储介质 | |
CN107257282B (zh) | 一种基于rc4算法的代码全包加密方法 | |
US7779269B2 (en) | Technique for preventing illegal invocation of software programs | |
CN112597449B (zh) | 软件加密方法、装置、设备及存储介质 | |
CN105100030B (zh) | 访问控制方法、系统和装置 | |
KR101226615B1 (ko) | 소프트웨어 난독화 장치 및 소프트웨어 보안처리 시스템 | |
CN108933790A (zh) | 高安全等级的ota升级固件的加密方法 |
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 |