CN112100582A - 一种应用强对称加密保护软件分发安全的方法 - Google Patents

一种应用强对称加密保护软件分发安全的方法 Download PDF

Info

Publication number
CN112100582A
CN112100582A CN202010999297.2A CN202010999297A CN112100582A CN 112100582 A CN112100582 A CN 112100582A CN 202010999297 A CN202010999297 A CN 202010999297A CN 112100582 A CN112100582 A CN 112100582A
Authority
CN
China
Prior art keywords
encryption
decryption
software
algorithm
key
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
Application number
CN202010999297.2A
Other languages
English (en)
Other versions
CN112100582B (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.)
Focus Education Technology Co ltd
Original Assignee
Focus Education 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 Focus Education Technology Co ltd filed Critical Focus Education Technology Co ltd
Priority to CN202010999297.2A priority Critical patent/CN112100582B/zh
Publication of CN112100582A publication Critical patent/CN112100582A/zh
Application granted granted Critical
Publication of CN112100582B publication Critical patent/CN112100582B/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种应用强对称加密保护软件分发安全的方法,其特征在于,包括:步骤1:利用伪随机数生成算法,基于***时间戳生成加解密密钥;步骤2:将加解密密钥、加解密算法函数、动态随机数及身份校验算法以C语言的形式编写并集成为加解密动态库;步骤3:按照步骤1自动生成密钥,利用生成的密钥对软件包加密,步骤4:依次调用加解密动态库的身份校验算法、加解密算法函数对软件安装方验证。使反汇编有很高的难度,加解密模块实现了加密、校验及混淆等多重保护措施,达到最大程度的阻止应用被反编译及非法授权的效果。

Description

一种应用强对称加密保护软件分发安全的方法
技术领域
本发明涉及领域,特别是涉及一种应用强对称加密保护软件分发安全的方法。
背景技术
动态语言是高级程序设计语言的一个类别,在计算机科学领域已被广泛应用。它是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码均能被引进,比如已有的函数被允许删除或是其他结构上的变化。目前,主要的动态语言有:PHP、Ruby、Python、JavaScript等。大型web应用通常会选择使用Java/Python等动态语言编写后端应用,当需要把这些后端应用部署到其它***中时,相应地需开发授权机制,因为使用动态语言开发的应用发布包很容易被反编译,所以在软件分发情境中,需要考虑源码及授权机制的安全性问题。
现有技术主要是使用代码混淆技术来对发布出去的应用进行保护。所述代码混淆是将计算机程序的代码转换成一种功能上等价,但是难于阅读和理解的形式的行为,通常选用的代码混淆方法有:(1)将代码中的各种元素,如变量,函数,类的名字改写成无意义的名字;(2)重写代码中的部分逻辑,将其变成功能上等价,但是更难理解的形式,比如将for循环改写成while循环,将循环改写成递归,精简中间变量等;(3)打乱代码的格式,比如删除空格,将多行代码挤到一行中,或者将一行代码断成多行等等;(4)添加花指令,通过特殊构造的指令来使得反汇编器出错,进而干扰反编译工作的进行。
经代码混淆处理后的程序代码较难被反编译,即使反编译成功也很难获取程序的真正语义。代码混淆对逆向工程的抵抗作用明显,增加了反汇编、反编译逆向分析出程序源码的难度,让非软件开发方等破解者难以掌握程序的逻辑和算法,它作为加密技术的补充和发展,在软件安全领域受到广泛关注。然而,这项技术虽然在一定程度上提高程序逻辑的保密性,但混淆仅是对类、方法及变量等名称进行字符串替换,保密程度性并没预想的高。甚至,通过采用反混淆工具进行破解,比如Python语言开发及发布的软件经解压后的字节码文件是pyc,可通过现成的工具uncompyle很容易的反编译出源码。
对称加密是指,加密和解密使用同一个密钥的加密方式,过程是:发送方使用密钥将明文数据加密成密文,然后发送出去,接收方收到密文后,使用同一个密钥将密文解密成明文读取。对称加密具有加密计算量小、速度快的优点,适合对大量数据进行加密的场景。然而,现有的对称加密技术未提供对密钥的保护措施,也就是对称加密密钥的安全是软件开发者自己要解决的问题。专利201810669993.X“一种基于JavaAgent和dll增强Java分发软件的安全方法”提供通过JavaAgent和dll动态链接库在对应用无侵入的情况下对应用进行加解密操作,保护软件的分发安全,但仍存在不足:(1)密钥容易用工具分析出来,如strings工具;(2)破解者能自己写程序直接调用dll动态链接库解密文件。
所以,目前本技术领域中还没有能适用于保护以动态语言编写的软件的安全方法。
发明内容
本发明所要解决的技术问题是克服现有技术的不足,提供一种应用强对称加密保护软件分发安全的方法。
本发明技术方案是,一种应用强对称加密保护软件分发安全的方法,具体过程包括:
步骤1:利用伪随机数生成算法,基于***时间戳生成加解密的密钥,包括:步骤1-1:使用伪随机数将获取的当前***时间戳生成一段长度为256的随机字符串;步骤1-2:对步骤1-1得到随机字符串进行BASE64编码,经编码后的随机字符串硬编码在加解密动态库中的;步骤1-3:对经步骤1-2得到的随机字符串进行BASE64解码,步骤1-4:对步骤1-3的结果字符串随机选取字节,对选取的特定字节与随机值执行异或操作;步骤1-5:对经步骤1-4得出的结果字符串执行HASH变换,得到最终加解密密钥;
特别地,所述步骤1-2具体为:随机字符串转为二进制字节码后,8个占位的字节转换为6个占位的字节,并按照BASE64格式转成新的字符串;所述步骤1-1至所述步骤1-2提前利用OpenSSL工具生成,所述步骤1-3至所述步骤1-5内置在加解密动态库在加密时执行。
步骤2:将加解密密钥、加解密算法函数、动态随机数及身份校验算法以C语言的形式编写并集成为加解密动态库;所述加解密算法函数是指用于加密和***发布包的加解密算法;所述动态随机数是利用伪随机数生成算法生成的随机字符串,所述随机字符串在构建加解密动态库时生成并硬编码入加解密动态库中;所述随机字符串在软件包分发时分配给软件发布包调用方;所述身份校验算法是对***时间戳和随机字符串同时加密的算法;
步骤3:待软件包分发至调用者时,按照步骤1自动生成密钥,利用生成的密钥对软件包加密,并对加密后的密文数据计算取至少4个字节作为完整性校验码;
特别地,所述步骤3具体包括:步骤3-1:将软件包解压为二进制式字节码文件,调用加密动态库按照步骤1-3~步骤1-5获取密钥,并将密钥作为参数传入加密算法函数中,形成密文数据;步骤3-2:基于SHA-256算法对密文数据计算后取至少前4个字节作为加密文件的完整性校验码,最终输出的加密文件是包括完整性校验码和密文数据;加密文件打包形成最终的软件发布包,部署在生产环境中;
特别地,所述步骤3-1加密过程,将获取的密钥作为参数传入AES加密函数中,以4×4的字节矩阵划分字节码文件执行加密循环,每次加密循环包括:将每个矩阵中每个字节与密钥做异或运算;用查找表的方式替换每个字节;矩阵中的每个横列执行循环式移位;
步骤4:软件安装启动时获取***时间戳和完整性校验码,依次调用加解密动态库的身份校验算法、加解密算法函数对软件安装方验证;经验证通过后调用密钥解密文件安装包,然后再执行软件安装;
特别地,所述步骤4中,软件启动安装时触发解密具体包括:步骤4-1:软件安装启动时将软件名称传给解释器,解释器根据软件名称下载相应的软件安装包并调用解密动态库;所述解释器用于读取软件安装包中可执行程序并执行软件安装;步骤4-2:软件安装方的身份校验:基于身份获取校验方法获取软件安装启动时的***时间戳,与预先分配给软件安装方的动态随机数拼接,拼接值经SHA-256加密形成校验值;获取解密动态库被调用时的***时间戳,与内置在加解密动态库中的动态随机数拼接后经SHA-256加密形成校验值;将软件安装方的校验值和解密动态库生成的校验值比对,比对一致,身份校验通过,继续执行步骤4-3;比对不一致,返回非法调用;步骤4-3:解密校验:解释器读取软件安装包的密文数据至少前4个字节与软件安装包内的完整性校验码比对,如若一致,执行解密;如若不一致,停止解密;步骤4-4:解密密文数据为明文数据:将密钥作为参数传入解密算法函数,获取到明文数据传入解释器中,由解释器完成代码翻译及软件安装运行指令的执行;
特别地,在所述步骤4-1软件启动触发解释器工作过程中,通过命令行启动软件,将软件压缩包名称传给解释器。所述解释器提前修改读取逻辑,控制解释器先调用加解密动态再执行软件安装。所述步骤4-4中,将密钥作为参数传入AES解密函数中,以4×4的字节矩阵划分字节码文件执行解密循环,每次解密循环按照步骤3-1加密步骤逆执行。
本发明所达到的有益效果:本方案的优势在于基于C语言动态库模块来实现解密流程,将密匙存入动态库,由于C语言是编译型语言的特性,所以反汇编有很高的难度,另外加解密模块实现了加密、校验及混淆等多重保护措施,最大程度的阻止应用被反编译及非法授权。
区别于传统代码混淆技术,本方案的创新提出了一种采用动态语言调用C语言动态库的形式来保护软件发布安全的解决方案。同时,使用公开及自定义的多重加密算法来增加逆向和破解难度。
附图说明
图1为本发明实施例中一种应用强对称加密保护软件分发安全的方法流程图;
图2为本发明实施例中一种应用强对称加密保护软件分发安全的***结构简图。
具体实施方式
下面结合附图和示例性实施例对本发明作进一步的说明:
如图2所示的一种应用强对称加密保护软件分发安全的***结构图,具体包括加密动态库、解密动态库、解释器,其中密钥内置在加解密动态库中;
所述加密动态库,用于软件安装包的加密,通过调用,获取密钥对软件安装包实施加密;
所述解密动态库,用于软件安装包的解密,通过调用,获取密钥对软件安装包实施解密;
所述解释器,用于翻译并允许发布包中的可执行程序,包括Java的JVM虚拟机、Python解释器;所述解释器在读取软件安装包前先调用解密动态库,由解密动态库将密文数据转换成明文数据后再交由解释器解释和执行软件安装代码。
如图1所示的一种应用强对称加密保护软件分发安全的方法,具体包括密钥生成、密钥加密方法、密钥解密方法;
步骤1:基于***时间戳生成加解密的密钥:
步骤1-1:通过openssl工具利用伪随机数生成算法,将***时间戳生成一段长度256的随机字符串,通过设置256个字符增加安全强度;
步骤1-2:将随机字符串转为二进制字节码后,8个占位的字节转换为6个占位的字节,并按照BASE64格式转成新的字符串;经编码后的随机字符串硬编码在加解密动态库中的;
步骤1-3:对经步骤1-2得到的随机字符串进行BASE64解码,从中随机选取字节,对选取的字节与分配的随机值执行异或操作;
步骤1-4:对经步骤1-3得出的结果字符串执行HASH变换,得到最终加解密密钥。
步骤1-3至步骤1-4都是在加解密动态库执行加密流程时执行的,硬编码就是直接以明文内置在源码中,编译后得到动态库中可能会以字符串形式被破解者拿到,但这不影响安全性,破解者拿到的是第2步的结果,无法直接拿到步骤1-5的最终加解密密钥。
步骤2:加解密密钥、加解密算法函数、动态随机数及身份校验算法以C语言的形式编写并集成为加解密动态库;所述加解密算法函数是指用于加密和***发布包的加解密算法;所述动态随机数是利用伪随机数生成算法生成的随机字符串,所述随机字符串在构建加解密动态库时生成并硬编码入加解密动态库中;所述随机字符串在软件包分发时分配给软件发布包调用方;所述身份校验算法是对***时间戳和随机字符串同时加密的算法;通过基于C语言动态库模块来实现解密流程,将密匙存入动态库,由于C语言是编译型语言的特性,所以反汇编有很高的难度,另外加解密模块实现了加密、校验及混淆等多重保护措施,最大程度的阻止应用被反编译及非法授权。
步骤3:待软件包分发至调用者时,按照步骤1生成密钥,利用密钥对软件包的加密,具体过程:步骤3-1:将软件包解压为二进制式字节码文件,调用加密动态库按照步骤1获取密钥,并将密钥作为参数传入AES加密函数中,以4×4的字节矩阵划分字节码文件执行加密循环,形成密文数据;步骤3-2:基于SHA-256算法对密文数据计算后取至少前4个字节作为加密文件的完整性校验码,最终输出的加密文件是包括完整性校验码和密文数据;加密文件打包形成最终的软件发布包,部署在生产环境中;
步骤4:软件启动安装时触发调用密钥解密后执行安装;具体过程包括:
步骤4-1:软件安装启动时将软件名称传给解释器,解释器预先修改读取逻辑为先调用加解密动态库再读取文件;解释器根据软件名称下载相应的软件安装包并调用解密动态库;所述解释器用于读取软件安装包中可执行程序并执行软件安装;
以Python解释器为例来,通过修改Python可执行程序的源码Moduls/main.c文件的Py_Main函数,修改其中的读取文件逻辑,将读取逻辑转换成读取文件并调用解密动态库解密返回明文的逻辑;修改Python可执行程序的源码Python/import.c文件的find_module函数,修改其中的读取源码文件逻辑,将读取逻辑转换成读取文件并调用解密动态库解密返回明文的逻辑;修改Python可执行程序的源码Modules/main.c,禁用生成pyc的选项;修改Python可执行程序的源码Modules/pythonrun.c,移除对PYTHONDONTWRITEBYTECODE环境变量的处理。
步骤4-2:软件安装方的身份校验:基于身份获取校验方法获取软件安装启动时的***时间戳,与预先分配给软件安装方的动态随机数拼接,拼接值经SHA-256加密形成校验值;获取解密动态库被调用时的***时间戳,与内置在加解密动态库中的动态随机数拼接后经SHA-256加密形成校验值;将软件安装方的校验值和解密动态库生成的校验值比对,比对一致,身份校验通过,继续执行步骤4-3;比对不一致,返回非法调用;
步骤4-3:解密校验:解释器读取软件安装包的密文数据至少前4个字节与软件安装包内的完整性校验码比对,如若一致,执行解密;如若不一致,停止解密;
步骤4-4:解密密文数据为明文数据:将密钥作为参数传入解密算法函数,以4×4的字节矩阵划分字节码文件执行加解循环,每次解密循环按照加密步骤逆执行,将获取到的明文数据传入解释器中,由解释器完成代码翻译及软件安装运行指令的执行;
通过采用动态语言调用C语言动态库的形式来保护软件发布安全的解决方案。同时,使用公开及自定义的多重加密算法来增加逆向和破解难度。
本发明所达到的有益效果:本方案的优势在于基于C语言动态库模块来实现解密流程,将密匙存入动态库,由于C语言是编译型语言的特性,所以反汇编有很高的难度,另外加解密模块实现了加密、校验及混淆等多重保护措施,最大程度的阻止应用被反编译及非法授权。
区别于传统代码混淆技术,本方案的创新提出了一种采用动态语言调用C语言动态库的形式来保护软件发布安全的解决方案。同时,使用公开及自定义的多重加密算法来增加逆向和破解难度。
以上实施例不以任何方式限定本发明,凡是对以上实施例以等效变换方式做出的其它改进与应用,都属于本发明的保护范围。

Claims (6)

1.一种应用强对称加密保护软件分发安全的方法,其特征在于,具体步骤包括:
步骤1:利用伪随机数生成算法,基于***时间戳生成加解密密钥,包括:
步骤1-1:使用伪随机数将获取的当前***时间戳生成一段长度为256的随机字符串;
步骤1-2:对步骤1-1得到随机字符串进行BASE64编码,经编码后的随机字符串硬编码在加解密动态库中;
步骤1-3:对经步骤1-2得到的随机字符串进行BASE64解码;
步骤1-4:对步骤1-3的结果字符串随机选取字节,对选取的特定字节与随机值执行异或操作;
步骤1-5:对经步骤1-4得出的结果字符串执行HASH变换,得到最终加解密密钥;
步骤2:将加解密密钥、加解密算法函数、动态随机数及身份校验算法以C语言的形式编写并集成为加解密动态库;所述加解密算法函数是指用于加密和***发布包的加解密算法;所述动态随机数是利用伪随机数生成算法生成的随机字符串,所述随机字符串在构建加解密动态库时生成并硬编码入加解密动态库中;所述随机字符串在软件包分发时分配给软件发布包调用方;所述身份校验算法是对***时间戳和随机字符串同时加密的算法;
步骤3:待软件包分发至调用者方时,按照步骤1自动生成密钥,利用生成的密钥对软件包加密,并对加密后的密文数据计算取至少4个字节作为完整性校验码;
步骤4:软件安装启动时,获取***时间戳和完整性校验码,依次调用加解密动态库的身份校验算法、加解密算法函数对软件安装方验证;经验证通过后调用密钥解密文件安装包,然后再执行软件安装。
2.根据权利要求1所述的一种应用强对称加密保护软件分发安全的方法,其特征在于,所述步骤1-2具体为:随机字符串转为二进制字节码后,8个占位的字节转换为6个占位的字节,并按照BASE64格式转成新的字符串;
所述步骤1-1至步骤1-2利用OpenSSL工具生成,所述步骤1-3至步骤1-5内置在加解密动态库中,在加密时执行。
3.根据权利要求2所述的一种应用强对称加密保护软件分发安全的方法,其特征在于,所述步骤3具体包括:
步骤3-1:将软件包解压为二进制式字节码文件,调用加密动态库按照步骤1-3至步骤1-5获取密钥,并将密钥作为参数传入加密算法函数中,形成密文数据;
步骤3-2:基于SHA-256算法对密文数据计算后取至少前4个字节作为加密文件的完整性校验码,最终输出的加密文件包括完整性校验码和密文数据;加密文件打包形成最终的软件发布包,部署在生产环境中。
4.根据权利要求3所述的一种应用强对称加密保护软件分发安全的方法,其特征在于,所述步骤3-1中,所述加密算法函数为AES加密函数,以4×4的字节矩阵划分字节码文件执行加密循环,每次加密循环包括:将每个矩阵中每个字节与密钥做异或运算;用查找表的方式替换每个字节;矩阵中的每个横列执行循环式移位。
5.根据权利要求4所述的一种应用强对称加密保护软件分发安全的方法,其特征在于,所述步骤4中,软件启动安装时触发解密具体包括:
步骤4-1:软件安装启动时将软件名称传给解释器,解释器根据软件名称下载相应的软件安装包并调用解密动态库;所述解释器用于读取软件安装包中可执行程序并执行软件安装;
步骤4-2:软件安装方的身份校验:基于身份获取校验方法获取软件安装启动时的***时间戳,与预先分配给软件安装方的动态随机数拼接,拼接值经SHA-256加密形成校验值;获取解密动态库被调用时的***时间戳,与内置在加解密动态库中的动态随机数拼接后经SHA-256加密形成校验值;将软件安装方的校验值和解密动态库生成的校验值比对,比对一致,身份校验通过,继续执行步骤4-3;比对不一致,返回非法调用;
步骤4-3:解密校验:解释器读取软件安装包的密文数据至少前4个字节与软件安装包内的完整性校验码比对,如若一致,执行解密;如若不一致,停止解密;
步骤4-4:解密密文数据为明文数据:将密钥作为参数传入解密算法函数,获取到明文数据传入解释器中,由解释器完成代码翻译及软件安装运行指令的执行。
6.根据权利要求5所述的一种应用强对称加密保护软件分发安全的方法,其特征在于,在所述步骤4-1软件启动触发解释器工作过程中,通过命令行启动软件,将软件压缩包名称传给解释器;所述解释器提前修改读取逻辑,控制解释器先调用加解密动态再执行软件安装;所述步骤4-4中,将密钥作为参数传入AES解密函数中,以4×4的字节矩阵划分字节码文件执行解密循环,每次解密循环按照步骤3-1加密步骤逆执行。
CN202010999297.2A 2020-09-22 2020-09-22 一种应用强对称加密保护软件分发安全的方法 Active CN112100582B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010999297.2A CN112100582B (zh) 2020-09-22 2020-09-22 一种应用强对称加密保护软件分发安全的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010999297.2A CN112100582B (zh) 2020-09-22 2020-09-22 一种应用强对称加密保护软件分发安全的方法

Publications (2)

Publication Number Publication Date
CN112100582A true CN112100582A (zh) 2020-12-18
CN112100582B CN112100582B (zh) 2023-06-16

Family

ID=73756450

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010999297.2A Active CN112100582B (zh) 2020-09-22 2020-09-22 一种应用强对称加密保护软件分发安全的方法

Country Status (1)

Country Link
CN (1) CN112100582B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110866226A (zh) * 2019-11-15 2020-03-06 中博信息技术研究院有限公司 一种基于加密技术的java应用软件版权保护方法
CN113591089A (zh) * 2021-08-12 2021-11-02 上海观安信息技术股份有限公司 一种数据混淆加密方法
CN115277112A (zh) * 2022-07-07 2022-11-01 海南视联通信技术有限公司 数据处理方法、装置、电子设备及存储介质
CN116089983A (zh) * 2023-02-23 2023-05-09 北京微步在线科技有限公司 一种py文件的加固编译方法及装置
CN116382740A (zh) * 2023-04-10 2023-07-04 广州锦高信息科技有限公司 应用软件的自动升级发布***及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107025390A (zh) * 2017-04-26 2017-08-08 北京洋浦伟业科技发展有限公司 软件安装包的加固方法及装置
CN107122632A (zh) * 2017-04-26 2017-09-01 北京洋浦伟业科技发展有限公司 软件安装包的加密方法及装置
CN107122634A (zh) * 2017-04-26 2017-09-01 北京洋浦伟业科技发展有限公司 软件安装包的加固保护方法及装置
WO2018152618A1 (en) * 2017-02-27 2018-08-30 Cord3 Innovation Inc. Symmetric cryptographic method and system and applications thereof
US20180248692A1 (en) * 2017-02-27 2018-08-30 Cord3 Innovation Inc. One-to-many symmetric cryptographic system and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018152618A1 (en) * 2017-02-27 2018-08-30 Cord3 Innovation Inc. Symmetric cryptographic method and system and applications thereof
US20180248692A1 (en) * 2017-02-27 2018-08-30 Cord3 Innovation Inc. One-to-many symmetric cryptographic system and method
CN107025390A (zh) * 2017-04-26 2017-08-08 北京洋浦伟业科技发展有限公司 软件安装包的加固方法及装置
CN107122632A (zh) * 2017-04-26 2017-09-01 北京洋浦伟业科技发展有限公司 软件安装包的加密方法及装置
CN107122634A (zh) * 2017-04-26 2017-09-01 北京洋浦伟业科技发展有限公司 软件安装包的加固保护方法及装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110866226A (zh) * 2019-11-15 2020-03-06 中博信息技术研究院有限公司 一种基于加密技术的java应用软件版权保护方法
CN110866226B (zh) * 2019-11-15 2022-05-24 中博信息技术研究院有限公司 一种基于加密技术的java应用软件版权保护方法
CN113591089A (zh) * 2021-08-12 2021-11-02 上海观安信息技术股份有限公司 一种数据混淆加密方法
CN113591089B (zh) * 2021-08-12 2024-06-11 上海观安信息技术股份有限公司 一种数据混淆加密方法
CN115277112A (zh) * 2022-07-07 2022-11-01 海南视联通信技术有限公司 数据处理方法、装置、电子设备及存储介质
CN116089983A (zh) * 2023-02-23 2023-05-09 北京微步在线科技有限公司 一种py文件的加固编译方法及装置
CN116089983B (zh) * 2023-02-23 2024-03-26 北京微步在线科技有限公司 一种py文件的加固编译方法及装置
CN116382740A (zh) * 2023-04-10 2023-07-04 广州锦高信息科技有限公司 应用软件的自动升级发布***及方法
CN116382740B (zh) * 2023-04-10 2023-11-14 广州锦高信息科技有限公司 应用软件的自动升级发布***及方法

Also Published As

Publication number Publication date
CN112100582B (zh) 2023-06-16

Similar Documents

Publication Publication Date Title
CN112100582B (zh) 一种应用强对称加密保护软件分发安全的方法
KR101490047B1 (ko) 자가변환 기반 애플리케이션 코드 난독화 장치 및 그 방법
KR101560131B1 (ko) 데이터를 보호할 때 적용되는 프로그램 가능한 프로세싱 단계들을 정의하기위한 시스템 및 방법
KR101328012B1 (ko) 애플리케이션 코드 난독화 장치 및 그 방법
CN105681039B (zh) 用于生成密钥及对应解密的方法和设备
US20160203087A1 (en) Method for providing security for common intermediate language-based program
KR101216995B1 (ko) 인덱스 테이블 기반 코드 암호화 및 복호화 장치 및 그 방법
US11797296B2 (en) Hot updating method of script file package and hot updating device of script file package
EP2105893A1 (en) Method for protecting a CAP file for an IC Card
CN102236757A (zh) 一种适用于Android***的软件保护方法及***
CN101957903A (zh) 一种保护类文件的方法和装置
KR20140029562A (ko) 안드로이드 어플리케이션의 디컴파일 방지를 위한 암호화 방법
CN111639306A (zh) 离线软件授权方法、装置、设备及存储介质
CN111475824A (zh) 数据访问方法、装置、设备和存储介质
CN102576391A (zh) 嵌入在shell代码中的软件许可
CN104298932A (zh) 一种so文件的调用方法及装置
CN106548046B (zh) 一种保护代码的装置和方法
CN105812146A (zh) 一种基于md5的双向加密数据保护方法
CN104200137A (zh) 一种保护java程序自身安全的方法
CN114547558B (zh) 授权方法、授权控制方法及装置、设备和介质
CN115967485A (zh) 基于量子密钥的加解密***
CN110096851B (zh) 一种字节码的加密方法及***
CN107257282A (zh) 一种基于rc4算法的代码全包加密方法
CN114722359B (zh) 一种基于自定义类加载器的Java源码保护方法
Maskur et al. Implementation of obfuscation technique on PHP source code

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