CN112613023B - 一种认证信息生成算法的保护方法和终端 - Google Patents
一种认证信息生成算法的保护方法和终端 Download PDFInfo
- Publication number
- CN112613023B CN112613023B CN202011581319.XA CN202011581319A CN112613023B CN 112613023 B CN112613023 B CN 112613023B CN 202011581319 A CN202011581319 A CN 202011581319A CN 112613023 B CN112613023 B CN 112613023B
- Authority
- CN
- China
- Prior art keywords
- authentication information
- information generation
- generation algorithm
- algorithm
- encrypted
- 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
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 178
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000006870 function Effects 0.000 claims abstract description 16
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 8
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 abstract description 12
- 238000006317 isomerization reaction Methods 0.000 abstract description 5
- 230000003068 static effect Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 7
- 230000008439 repair process Effects 0.000 description 5
- 229910002056 binary alloy Inorganic materials 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 241001441724 Tetraodontidae Species 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012545 processing Methods 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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/107—License processing; Key processing
-
- 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
-
- 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/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种认证信息生成算法的保护方法和终端,通过预设的编程语言对待保护的认证信息生成算法进行封装;对封装后的的所述认证信息生成算法进行编译,生成二进制代码;将所述二进制代码放置于预设的代码段,并进行加密;将加密后得到的签名信息放置于所述预设的代码段中;通过将认证信息生成算法依次进行封装、编译和加密,将认证信息生成算法生成异构化加载的二进制,干扰反编译工具对认证信息生成算法的分析,使代码反编译工具在函数识别和语法树识别中出现错误,无法识别出认证信息生成算法的特征,避免了被反编译工具将认证信息生成算法还原,保证了无法通过静态分析对认证生成算法进行分析,从而保证了认证信息生成算法的安全性。
Description
技术领域
本申请涉及计算机信息安全领域,特别涉及一种认证信息生成算法的保护方法和终端。
背景技术
随着移动技术的发展,分布式Android应用的普及,传统的会话控制(session)认证用户登录方式成本越来越高,也越来越不安全,产生了一种目前最流行的跨域身份验证解决方案JWT(JSON Web Token)签名,现阶段绝大多数的APP认证方式都是基于生成JWT签名此来进行登录认证。发展至今签名的生成机制,主要有两种方式,一种是在Java逻辑中生成,还有一种是JNI(Java Native interface,Java本地接口)调用的方式生成。
由于Java是一种跨平台的编程语言,其源码(.java文件)会被编译成与平台无关的字节码(.Dex文件),然后再运行期间被Android虚拟机进行动态翻译和链接,而编译后的文件中将包含有符号表,使得apk(Android application package,Android应用程序包)程序很容易被反编译,泄露程序的结构与实现方式。
JNI本质上是使用Android动态链接库进行封装原本生成签名的数字摘要算法,即通过将重要签名生成核心代码全部放在C文件中,利用NDK(Native Development Kit,原生开发工具包)技术将核心代码编译成动态库(.so文件),再用JNI对动态库进行调用。
两种方式都是通过字符串拼接和数据公式计算以及消息摘要算法生成,虽然不同的APP会使用不同的算法组合和公式生成不能被复制重用的令牌(Token)数值,但通过一些应用工具能够直接看到具体的加密逻辑,因此无法保护Token的生成算法。
发明内容
本发明所要解决的技术问题是:提供一种认证信息生成算法的保护方法,保证认证信息生成算法的安全性。
为了解决上述技术问题,本发明采用的技术方案为:
一种认证信息生成算法的保护方法,包括步骤:
通过预设的编程语言对待保护的认证信息生成算法进行封装;
对封装后的的所述认证信息生成算法进行编译,生成二进制代码;
将所述二进制代码放置于预设的代码段,并进行加密;
将加密后得到的签名信息放置于所述预设的代码段中。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种认证信息生成算法的保护终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种认证信息生成算法的保护方法中的各个步骤。
本发明的有益效果在于:通过将待保护的认证信息生成算法进行封装并编译,生成二进制代码,再将编译后的二进制代码放置于特定的代码段进行加密,而后再将加密后得到的签名信息放置于所述预设的代码段中,通过对认证信息生成算法进行加密,将认证信息生成算法生成异构化加载的二进制,干扰反编译工具对待保护的认证信息生成算法的分析,使代码反编译工具在函数识别和语法树识别中出现错误,无法识别出认证信息生成算法的特征,避免了被反编译工具将认证信息生成算法还原,并且保证了无法通过静态分析对认证生成算法进行分析,从而保证了认证信息生成算法的安全性。
附图说明
图1为本发明实施例的一种认证信息生成算法的保护方法的步骤流程图;
图2为本发明实施例的一种认证信息生成算法的保护方法加密后的字节码信息示意图;
图3为本发明实施例的一种认证信息生成算法的保护方法加密后的效果示意图;
图4为本发明实施例的一种认证信息生成算法的保护方法的另一步骤流程图;
图5为本发明实施例的一种认证信息生成算法的保护方法的另一步骤流程图;
图6为本发明实施例的一种认证信息生成算法的保护终端的结构示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,本发明实施例提供了一种认证信息生成算法的保护方法,包括步骤:
通过预设的编程语言对待保护的认证信息生成算法进行封装;
对封装后的的所述认证信息生成算法进行编译,生成二进制代码;
将所述二进制代码放置于预设的代码段,并进行加密;
将加密后得到的签名信息放置于所述预设的代码段中。
由上述描述可知,本发明的有益效果在于:通过将待保护的认证信息生成算法进行封装并编译,生成二进制代码,再将编译后的二进制代码放置于特定的代码段进行加密,而后再将加密后得到的签名信息放置于所述预设的代码段中,通过对认证信息生成算法进行加密,将认证信息生成算法生成异构化加载的二进制,干扰反编译工具对待保护的认证信息生成算法的分析,使代码反编译工具在函数识别和语法树识别中出现错误,无法识别出认证信息生成算法的特征,避免了被反编译工具将认证信息生成算法还原,并且保证了无法通过静态分析对认证生成算法进行分析,从而保证了认证信息生成算法的安全性。
进一步的,还包括步骤:
接收认证信息生成算法调用请求;
根据所述认证信息生成算法调用请求到所述预设的代码端获取加密的认证信息生成算法对应的签名信息;
对所述签名信息进行校验,若校验成功,则获取加密的认证信息生成算法和对应的解密算法;
采用所述对应的解密算法对所述加密的认证信息生成算法进行解密并修复;
修复所述认证信息生成算法的调用接口;
通过修复后的调用接口调用所述认证信息生成算法。
由上述描述可知,当接收认证信息生成算法调用请求时,先获取加密的认证信息生成算法对应的签名信息,并且对签名信息进行校验,只有当校验成功后才能够获取加密的认证信息生成算法和对应的解密算法,从而实现对加密的认证信息生成算法进行解密、修复以及调用接口的修复,保证了认证信息生成算法调用过程的安全性。
进一步的,所述若校验成功,则获取加密的认证信息生成算法和对应的解密算法包括:
若校验成功,加载动态链接库,通过所述动态链接库获取加密的认证信息生成算法和对应的解密算法;否则,不加载。
由上述描述可知,通过加载动态链接库并获取加密的认证信息生成算法和对应的解密算法,再进行解密,进一步保证了认证信息生成算法解密过程的安全性。
进一步的,所述采用所述对应的解密算法对所述加密的认证信息生成算法进行解密并修复包括:
根据所述预设代码段的大小创建匿名映射的内存空间,所述内存空间具有可读写执行权限;
将所述加密的认证信息生成算法复制到所述内存空间内并采用所述对应的解密算法对所述加密的认证信息生成算法进行解密,得到二进制代码;
对所述二进制代码进行修复。
由上述描述可知,通过将加密的认证信息生成算法复制到内存空间内进行解密,保证了待解密的认证信息生成算法解密过程中的安全性。
进一步的,通过对称加密算法对编译后的认证信息生成算法进行加密;
通过对称解密算法对加密的认证信息生成算法进行解密。
由上述描述可知,通过对称加密算法对编译后的认证信息生成算法进行加密,将认证信息生成算法生成异构化加载的二进制,干扰反编译工具对待保护的认证信息生成算法的分析,使代码反编译工具在函数识别和语法树识别中出现错误,无法识别出认证信息生成算法的特征,避免了被反编译工具将认证信息生成算法还原,并且通过对称加密算法对加密的认证信息生成算法进行解密,使加密后的认证信息生成算法能够被准确解密,从而保证了认证信息生成算法加密的安全性和解密的可靠性。
进一步的,所述修复所述认证信息生成算法的调用接口包括:
修复JNI入口的跳表函数。
由上述描述可知,当解密完成后对JNI入口的跳表函数进行修复,保证了认证信息生成算法能够通过JNI入口的跳表函数被调用。
进一步的,完成对所述认证信息生成算法的调用接口的修复后还包括步骤:
通过填充数据同步更新CPU的指令缓存和数据缓存。
由上述描述可知,通过在解密的过程中使用CPU缓存技术,使得对认证信息生成算法分析的难度大大提高,从而保证了认证信息生成算法在解密过程中的安全性。
请参照图6,本发明另一实施例提供了一种认证信息生成算法的保护终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种认证信息生成算法的保护方法中的各个步骤。
上述认证信息生成算法的保护方法和终端适用于不同的应用系统,比如Android系统,以下通过具体的实施方式进行说明:
实施例一
请参照图1,一种认证信息生成算法的保护方法,包括步骤:
通过预设的编程语言对待保护的认证信息生成算法进行封装;
对封装后的所述认证信息生成算法进行编译,生成二进制代码;
将所述二进制代码放置于预设的代码段,并进行加密;
具体的:通过对称加密算法对编译后的认证信息生成算法进行加密,其中所使用的对称加密算法包括:DES、3DES、AES、SM4、Blowfish、IDEA、RC4、RC5、RC6和XXTEA;
将加密后得到的签名信息放置于所述预设的代码段中;
本实施例提供一具体运用场景:
待加密的认证信息生成算法为Android APP签名的生成算法时,先通过编程语言C++对签名的生成算法进行封装,再通过GCC编译器对封装后的签名生成算法进行编译,然后再将编译后生成的二进制代码算法放置于预设的代码段中如特定的section段.be1;
如图2所示,其中.bel代表代码的某一段,通过对称加密算法对二进制代码算法进加密,将二进制代码算法生成异构化加载的二进制字节码信息,如段.bel:0048B808所示,再将加密后得到的签名信息放置于预设的section代码段数据的尾部,具体如图3所示,将加密后的签名信息放置于特定的section段数据尾部。
实施例二
请参照图4,本实施例与实施例一的不同在于,具体限定了如何对加密的认证信息生成算法进行调用:
接收认证信息生成算法调用请求;
根据所述认证信息生成算法调用请求到所述预设的代码端获取加密的认证信息生成算法对应的签名信息;
对所述签名信息进行校验,若校验成功,则获取加密的认证信息生成算法和对应的解密算法,具体的:预先开发一个动态链接库,并在所述动态链接库的进程数组段设置一个加密段(section.encry)加载函数,通过所述加载函数对所述加密的认证信息生成算法对应的签名信息进行数据完整性的确认,若校验成功,加载动态链接库,通过所述动态链接库获取加密的认证信息生成算法和对应的解密算法;否则不加载,且将异常上报;
采用所述对应的解密算法对所述加密的认证信息生成算法进行解密并修复,具体的:根据所述预设代码段的大小创建匿名映射的内存空间,所述内存空间具有可读写执行权限;若内存空间映射失败或可读写执行权限赋予失败,则不加载动态链接库,且将异常上报;其中,使用mmap映射方法进行内存空间的映射;
所述加载函数具有初始化动态链接库的功能,同时加载的过程中加载必要的解密因素,对所述加密的认证信息生成算法对应的签名信息进行解压校验;
将所述加密的认证信息生成算法复制到所述内存空间内并采用所述对应的解密算法对所述加密的认证信息生成算法进行解密,得到二进制代码;
具体的:通过对称解密算法对加密的认证信息生成算法进行解密,其中所使用的对称加密算法包括:DES、3DES、AES、SM4、Blowfish、IDEA、RC4、RC5、RC6和XXTEA;
对所述二进制代码进行修复,具体的:修复所述二进制算法的导入表和导出表;
修复所述认证信息生成算法的调用接口,具体的:修复JNI入口的跳表函数;
完成修复指令后,通过填充数据(shellcode)同步更新CPU的指令缓存和数据缓存;
通过修复后的调用接口调用所述认证信息生成算法,具体的:释放虚拟机指针,加载应用生成JWT。
本实施例提供一具体运用场景:
请参照图5,当用户进行认证登入时,系统对JWT算法进行编译加密并生成二进制代码,通过动态链接库内的加载函数确认签名信息的数据完整性,若签名信息校验失败,则报告异常且不加载应用,若签名信息校验成功,则根据section段大小分配一段匿名映射的内存空间,并赋予R/W/X可读写执行权限,若执行失败,则报告异常且不加载应用,若执行成功,则复制section段到匿名映射内存进行解密得到二进制算法,解密完成后,修复匿名映射内二进制算法的导入表和导出表,并修复JNI入口跳表函数,完成修复后,使用shellcode代码同步刷新CPU的指令缓存和数据缓存,最终正常加载应用生成JWT。
实施例三
请参照图6,一种认证信息生成算法的保护终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一或实施例二所述的一种认证信息生成算法的保护方法中的各个步骤。
综上所述,本发明提供的一种认证信息生成算法的保护方法和终端,将待保护的认证信息生成算法进行封装并编译,生成二进制代码,再将编译后的二进制代码放置于特定的代码段进行加密,而后再将加密后得到的签名信息放置于所述预设的代码段中,通过对认证信息生成算法进行加密,将认证信息生成算法生成异构化加载的二进制,干扰反编译工具对待保护的认证信息生成算法的分析,使代码反编译工具在函数识别和语法树识别中出现错误,无法识别出认证信息生成算法的特征,避免了被反编译工具将认证信息生成算法还原,进一步的,通过将认证信息生成算法复制到匿名的内存空间解密,结合系统底层的API和CPU缓存等技术增加了破解算法的技术门槛,并且保证了无法通过静态分析对认证生成算法进行分析,从而保证了认证信息生成算法的安全性。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (5)
1.一种认证信息生成算法的保护方法,其特征在于,包括步骤:
通过预设的编程语言对待保护的认证信息生成算法进行封装;
对封装后的所述认证信息生成算法进行编译,生成二进制代码;
将所述二进制代码放置于预设的代码段,并进行加密;
将加密后得到的签名信息放置于所述预设的代码段中;
还包括步骤:
接收认证信息生成算法调用请求;
根据所述认证信息生成算法调用请求到所述预设的代码段获取加密的认证信息生成算法对应的签名信息;
对所述签名信息进行校验,若校验成功,则获取加密的认证信息生成算法和对应的解密算法;
采用所述对应的解密算法对所述加密的认证信息生成算法进行解密并修复;
修复所述认证信息生成算法的调用接口;
通过修复后的调用接口调用所述认证信息生成算法;
完成对所述认证信息生成算法的调用接口的修复后还包括步骤:
通过填充数据同步更新CPU的指令缓存和数据缓存;
所述将所述二进制代码放置于预设的代码段,并进行加密包括:
将所述二进制代码放置于预设的代码段,并对所述二进制代码进行加密;
所述将加密后得到的签名信息放置于所述预设的代码段中包括:
将加密后得到的签名信息放置于所述预设的代码段的尾部;
所述修复所述认证信息生成算法的调用接口包括:
修复JNI入口的跳表函数。
2.根据权利要求1所述的一种认证信息生成算法的保护方法,其特征在于,所述若校验成功,则获取加密的认证信息生成算法和对应的解密算法包括:
若校验成功,加载动态链接库,通过所述动态链接库获取加密的认证信息生成算法和对应的解密算法;否则,不加载。
3.根据权利要求1所述的一种认证信息生成算法的保护方法,其特征在于,所述采用所述对应的解密算法对所述加密的认证信息生成算法进行解密并修复包括:
根据所述预设代码段的大小创建匿名映射的内存空间,所述内存空间具有可读写执行权限;
将所述加密的认证信息生成算法复制到所述内存空间内并采用所述对应的解密算法对所述加密的认证信息生成算法进行解密,得到二进制代码;
对所述二进制代码进行修复。
4.根据权利要求1至3中任意一项所述的一种认证信息生成算法的保护方法,其特征在于,通过对称加密算法对编译后的认证信息生成算法进行加密;
通过对称解密算法对加密的认证信息生成算法进行解密。
5.一种认证信息生成算法的保护终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-4任意一项所述的一种认证信息生成算法的保护方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011581319.XA CN112613023B (zh) | 2020-12-28 | 2020-12-28 | 一种认证信息生成算法的保护方法和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011581319.XA CN112613023B (zh) | 2020-12-28 | 2020-12-28 | 一种认证信息生成算法的保护方法和终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112613023A CN112613023A (zh) | 2021-04-06 |
CN112613023B true CN112613023B (zh) | 2023-04-28 |
Family
ID=75248344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011581319.XA Active CN112613023B (zh) | 2020-12-28 | 2020-12-28 | 一种认证信息生成算法的保护方法和终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112613023B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028057A (zh) * | 2021-10-27 | 2023-04-28 | 北京字节跳动网络技术有限公司 | 代码管理的方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106560830A (zh) * | 2016-07-01 | 2017-04-12 | 哈尔滨安天科技股份有限公司 | 一种Linux嵌入式系统中的安全防护方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102509049B (zh) * | 2011-11-14 | 2014-11-26 | 任子行网络技术股份有限公司 | 一种程序合法性验证方法和系统 |
CN106548046B (zh) * | 2016-10-25 | 2020-11-20 | 北京纬百科技有限公司 | 一种保护代码的装置和方法 |
CN109902500B (zh) * | 2019-03-11 | 2021-02-26 | 北京城市网邻信息技术有限公司 | 一种通过链接库实现业务调用数据安全的方法及系统 |
FR3094108B1 (fr) * | 2019-03-21 | 2021-02-26 | Commissariat Energie Atomique | Procédé d'exécution, par un microprocesseur, d'un code binaire comportant une fonction appelante et une fonction appelee |
CN111143877B (zh) * | 2019-12-20 | 2023-01-03 | 国能日新科技股份有限公司 | 加密基于Python的风光预测算法文件的方法及装置 |
-
2020
- 2020-12-28 CN CN202011581319.XA patent/CN112613023B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106560830A (zh) * | 2016-07-01 | 2017-04-12 | 哈尔滨安天科技股份有限公司 | 一种Linux嵌入式系统中的安全防护方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于白盒密码的动态自修改代码混淆技术研究与实现;刘菁;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20180215;正文第35-50页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112613023A (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101471589B1 (ko) | 공통중간언어 기반 프로그램을 위한 보안 제공 방법 | |
CN108733988B (zh) | 安卓平台上可执行程序的保护方法 | |
CN106778103B (zh) | 一种安卓应用程序防逆向破解的加固方法、系统及解密方法 | |
US9396313B2 (en) | Apparatus for tamper protection of application code and method thereof | |
CN108345773B (zh) | 基于虚拟机的代码保护方法及装置、电子设备、存储介质 | |
KR101490047B1 (ko) | 자가변환 기반 애플리케이션 코드 난독화 장치 및 그 방법 | |
KR101391982B1 (ko) | 안드로이드 어플리케이션의 디컴파일 방지를 위한 암호화 방법 | |
WO2021217980A1 (zh) | java代码的加壳方法与系统 | |
US20160239671A1 (en) | Method and device for protecting an application and method and device for executing a protected application thus protected | |
BRPI0614089A2 (pt) | método para evitar engenharia reversa de software, modificação não autorizada e interceptação de dados de tempo de execução | |
US9983869B2 (en) | Adaptive interface for cross-platform component generation | |
CN109684794B (zh) | 一种代码保护虚拟机kvm系统实现方法、装置、计算机设备及存储介质 | |
CN102576391A (zh) | 嵌入在shell代码中的软件许可 | |
CN107315930A (zh) | 一种保护Python程序的方法 | |
CN107871066B (zh) | 基于安卓系统的代码编译方法及装置 | |
CN112613023B (zh) | 一种认证信息生成算法的保护方法和终端 | |
CN110309630B (zh) | 一种Java代码加密方法及装置 | |
CN109413189B (zh) | 一种基于底层转译的电子交易系统 | |
US20150026483A1 (en) | Systems and Methods for Mobile Application Protection | |
KR101863325B1 (ko) | 역공학 방지 방법 및 장치 | |
CN107209815B (zh) | 用于使用返回导向编程的代码混淆的方法 | |
CN106372464A (zh) | 一种嵌入式系统中静态库文件的防盗版加密方法 | |
CN113220314B (zh) | App资源加载及apk生成方法、装置、设备及介质 | |
US11550883B2 (en) | Code protection | |
CN112114809B (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 |