CN108629162B - 一种源代码防护方法及装置 - Google Patents
一种源代码防护方法及装置 Download PDFInfo
- Publication number
- CN108629162B CN108629162B CN201710179802.7A CN201710179802A CN108629162B CN 108629162 B CN108629162 B CN 108629162B CN 201710179802 A CN201710179802 A CN 201710179802A CN 108629162 B CN108629162 B CN 108629162B
- Authority
- CN
- China
- Prior art keywords
- code
- source code
- parameter value
- conversion
- protected
- 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 27
- 238000006243 chemical reaction Methods 0.000 claims abstract description 53
- 238000012545 processing Methods 0.000 claims abstract description 28
- 230000006870 function Effects 0.000 claims description 108
- 238000004806 packaging method and process Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 7
- 230000008676 import Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012795 verification 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/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/70—Software maintenance or management
- G06F8/72—Code refactoring
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种源代码防护方法,所述方法包括:获取待防护源代码;将所述源代码的函数名进行乱码转换,和/或将所述源代码中的特定函数代码进行隐藏,以实现对待防护代码的防护处理;将防护处理后的所述源代码应用于客户端。本发明提供的源代码防护方法,使用某些混淆工具将应用程序的源代码的函数名进行乱码转换,将源代码的函数名映射成乱码。这样,当破解者对应用程序的源代码进行破译时,破解出的代码将变成乱码,使得破解者无法获取应用程序的业务逻辑。或者当破解者对应用程序的源代码进行破解时,将应用程序的源代码中的特定函数代码进行隐藏,破解者将无法获知这部分特定函数代码,以实现对待防护代码的防护处理,避免造成厂商的损失。
Description
技术领域
本发明涉及信息安全技术领域,特别是涉及一种源代码防护方法及装置。
背景技术
目前随着信息科技的不断发展,整个社会对应用程序的依赖程度越来越高,从而应用程序的安全的重要性也越来越高。
目前,各种对应用程序安全造成威胁的攻击也越来越多,例如:漏洞攻击。漏洞是在硬件、软件、协议的具体实现或者系统安全策略上存在的缺陷,由于应用程序存在漏洞,因此会导致不法分子在未授权的情况下访问或者更改应用程序的源代码。显然,在上述情况下,对应用程序的源代码进行防护就显得尤为重要了。
现在的应用程序的源代码很容易通过一系列反汇编工具破译,反汇编程序为解密程序,将应用程序的源代码破译后,掌握应用程序的逻辑,会造成应用程序的源代码的泄露从而对应用程序厂商造成损失。
发明内容
本发明提供了一种源代码防护方法及装置,以解决现有技术中应用程序的源代码易被破译,造成损失等问题。
为了解决上述问题,本发明公开了一种源代码防护方法,所述方法包括:获取待防护源代码;将所述源代码的函数名进行乱码转换,和/或将所述源代码中的特定函数代码进行隐藏,以实现对待防护代码的防护处理;将防护处理后的所述源代码应用于客户端。
优选地,所述将所述源代码进行乱码转换的步骤,包括:使用混淆工具对所述源代码的函数名进行混淆生成第一代码;将所述第一代码导入设定文件中。
优选地,所述将所述源代码中的特定函数代码进行隐藏的步骤,包括:确定所述源代码中的特定函数代码,以及所述特定函数代码对应的第一计算机语言;采用第二计算机语言将所述特定函数代码进行转换;将转换后的所述特定函数代码进行隐藏;将隐藏后的所述特定函数代码通过设定指令嵌套包装
优选地,所述源代码中包含参数值转换程序,在所述防护处理后的所述源代码应用于客户端的步骤之后,所述方法还包括:接收到用户发送的访问服务器的请求时,从服务器获取第一参数对应的参数值;确定与所述服务器之间约定的参数值对应的字符串;调用所述参数值转换程序,对所述字符串进行转换,得到至少一个参数值;将获取的所述参数值与转换后得到的参数值进行匹配;依据匹配结果响应所述访问服务器的请求。
优选地,所述依据比较结果响应所述访问服务器的请求的步骤,包括:当所述参数值与转换后得到的参数值中某一参数值匹配时,则响应访问请求;当所述参数值与所述转换后得到的各参数值均不匹配时,则结束访问请求。
为了解决上述问题,本发明还公开了一种源代码防护装置,所述装置包括:第一获取模块,用于获取待防护源代码;转换模块,用于将所述源代码进行乱码转换;隐藏模块,用于将所述源代码中的特定函数代码进行隐藏,以实现对待防护代码的防护处理;应用模块,用于将防护处理后的所述源代码应用于客户端。
优选地,所述转换模块包括:生成第一代码子模块,用于对所述源代码进行混淆生成第一代码;导入子模块,用于将所述第一代码导入设定文件中。
优选地,所述隐藏模块包括:确定子模块,用于确定所述源代码中的特定函数代码,以及所述特定函数代码对应的第一计算机语言;语言转换子模块,用于采用第二计算机语言将所述特定函数代码进行转换;隐藏子模块,用于将转换后的所述特定函数代码进行隐藏;包装子模块,用于将隐藏后的所述特定函数代码通过设定指令嵌套包装。
优选地,所述装置还包括:第二获取模块,用于接收到用户发送的访问服务器的请求时,从服务器获取第一参数对应的参数值;确定模块,用于确定与所述服务器之间约定的参数值对应的字符串;调用转换模块,用于调用所述参数值转换程序,对所述字符串进行转换,得到至少一个参数值;匹配模块,用于将获取的所述参数值与转换后得到的参数值进行匹配;响应模块,用于依据匹配结果响应所述访问服务器的请求。
优选地,所述响应模块包括:第一操作模块,用于当所述参数值与转换后得到的参数值中某一参数值匹配时,则响应访问请求;第二操作模块,用于当所述参数值与所述转换后得到的各参数值均不匹配时,则结束访问请求。
与现有技术相比,本发明具有以下优点:
本发明实施例提供的源代码防护方案,使用某些混淆工具将应用程序的源代码的函数名进行乱码转换,将源代码的函数名映射成乱码。这样,当破解者对应用程序的源代码进行破译时,破解出的代码将变成乱码,使得破解者无法获取应用程序的业务逻辑。或者当破解者对应用程序的源代码进行破解时,将应用程序的源代码中的特定函数代码进行隐藏,破解者将无法获知这部分特定函数代码,以实现对待防护代码的防护处理,避免造成厂商的损失。
附图说明
图1是本发明实施例一的一种源代码防护方法的步骤流程图;
图2是本发明实施例二的一种源代码防护方法的步骤流程图;
图3是本发明实施例三的一种源代码防护装置的结构框图;
图4是本发明实施例四的一种源代码防护装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,示出了本发明实施例一的一种源代码防护方法的步骤流程图。
本发明实施例的源代码防护方法包括如下步骤:
步骤101:获取待防护源代码。
应用程序由源代码编写而成,当需要对应用程序的源代码进行防护时,先获取应用程序的所有源代码。
步骤102:将源代码的函数名进行乱码转换,和/或将源代码中的特定函数代码进行隐藏,以实现对待防护代码的防护处理。
将应用程序的源代码的函数名通过某些混淆工具,对应用程序的源代码中的函数映射成乱码。例如:使用某种混淆工具对Objective C源代码进行混淆,将源代码的函数名映射成乱码,如isFinishTask变成t3C8moahLNaG。
或者利用C函数与Objective C函数混编的特性,将特定的函数用C函数完成,并嵌套包装,隐藏特定函数的函数名。
其中,特定函数包括但不限于:付费许可函数、VIP审核函数、密码检验函数等。
在具体实施过程中,可以对源代码的函数名进行乱码转换,实现对待防护代码的防护处理,也可以将源代码中的特定函数代码进行隐藏;
同时也可以先将源代码进行乱码转换后,将源代码中的特定函数代码进行隐藏。
步骤103:将防护处理后的源代码应用于客户端。
防护处理后的源代码应用于客户端,这样即便是破解者能够破解到应用程序对应的源代码,但是由于源代码被进行了防护处理,破解者也依然无法获取到完整的源代码,或者对源代码进行更改。
本发明实施例提供的源代码防护方法,使用某些混淆工具将应用程序的源代码的函数名进行乱码转换,将源代码的函数名映射成乱码。这样,当破解者对应用程序的源代码进行破译时,破解出的代码将变成乱码,使得破解者无法获取应用程序的业务逻辑。或者当破解者对应用程序的源代码进行破解时,将应用程序的源代码中的特定函数代码进行隐藏,破解者将无法获知这部分特定函数代码,以实现对待防护代码的防护处理,避免造成厂商的损失。
实施例二
参照图2,示出了本发明实施例二的一种源代码防护方法的步骤流程图。
本发明实施例的源代码防护方法包括如下步骤:
步骤201:获取待防护源代码。
应用程序由源代码编写而成,当需要对应用程序的源代码进行防护时,先获取应用程序的所有源代码,在对获取的源代码进行防护操作。
步骤202:将源代码的函数名进行乱码转换,和/或将源代码中的特定函数代码进行隐藏,以实现对待防护代码的防护处理。
在具体实施过程中,可以对源代码的函数名进行乱码转换,实现对待防护代码的防护处理,也可以将源代码中的特定函数代码进行隐藏;
同时也可以先将源代码进行乱码转换后,将源代码中的特定函数代码进行隐藏。
一种优选的将源代码进行乱码转换的方式如下:
使用混淆工具对源代码的函数名进行混淆生成第一代码;
将第一代码导入设定文件中。
例如:使用某混淆工具对Objective C源代码的函数名进行混淆,将源代码的函数名映射成乱码,如isFinishTask变成t3C8moahLNaG;
将此函数集合对应的.h文件导入工程,并添加至Prefix.pch文件中,编译后执行的函数就是t3C8moahLNaG这样的函数,即使用IDA来读取,看到的同样也是乱码,很难根据函数名来猜测实际的用途。
一种优选的将源代码中的特定函数代码进行隐藏的方式如下:
首先,确定源代码中的特定函数代码,以及特定函数代码对应的第一计算机语言;
其次,采用第二计算机语言将特定函数代码进行转换;
利用C函数与Objective C函数混编的特性,将关键的函数用C函数完成。
再次,将转换后的特定函数代码进行隐藏;
最后,将隐藏后的特定函数代码通过设定指令嵌套包装。
利用C函数与Objective C函数混编的特性,将关键的函数用C函数完成,并用typedef sturct嵌套包装起来。
步骤203:接收到用户发送的访问服务器的请求时,从服务器获取第一参数对应的参数值。
当用户使用客户端时,客户端接收到用户的操作,客户端对用户的操作进行响应并向服务器发送请求,服务器接收到客户端的请求后,客户端向服务器获取第一参数对应对的参数值。其中,第一参数可以为VIP任务的次数参数,但不限于此。
步骤204:确定与服务器之间约定的参数值对应的字符串。
服务器与客户端之间针对第一参数约定有一个参数值,约定参数值隐藏在一长串字符串中被存储在客户端中;该约定参数值直接存储在服务器中作为迷惑值来迷惑破解者。当破解者进行违规操作时,仅能修改服务器中的该约定参数值,一旦该约定参数值被修改,客户端将该值与自身存储的隐藏在一长串字符串按照预设方法进行比对,则可确定该应用程序已被破解者非法更改。
步骤205:调用参数值转换程序,对字符串进行转换,得到至少一个参数值。
具体地,参数值转换程序中预设有一种或多种对字符串的转换逻辑,参数值转换程序对字符串进行转换后,能够得到一个或多个参数值。
步骤206:将获取的参数值与转换后得到的参数值进行匹配;当参数值与转换后得到的至少一个参数值匹配时,则执行步骤207,当参数值与转换后得到的参数值均不匹配时,则执行步骤208。
由于通过多种计算逻辑对字符串进行转换,因此,转换后会得到多个不同的转换结果即参数值。当然,也可以仅采用某一种计算逻辑对字符串进行转换,那么转换后将仅会得到一个参数值。
将转换后得到的多个参数值一一与从服务器获取到的第一参数对应对的参数值进行匹配。
步骤207:当参数值与转换后得到的参数值中某一参数值匹配时,则响应访问请求。当转换后得到的参数值与从服务器获取到的参数对应的参数值匹配结果为,至少有一个与参数值相等,则表示参数值与计算后的参数值匹配,则服务器对客户端的访问请求操作做出对应的响应请求。
步骤208:当参数值与转换后得到的各参数值均不匹配时,则结束访问请求。
当转换后得到的参数值与从服务器获取到的异地参数对应的参数值匹配结果为,多个计算后的参数值与参数值任意一个都不能匹配时,则服务器不能对客户端的请求操作做出响应,并结束访问请求操作。
本发明实施例提供的源代码防护方法,使用某些混淆工具将应用程序的源代码的函数名进行乱码转换,将源代码的函数名映射成乱码。这样,当破解者对应用程序的源代码进行破译时,破解出的代码将变成乱码,使得破解者无法获取应用程序的业务逻辑。或者当破解者对应用程序的源代码进行破解时,将应用程序的源代码中的特定函数代码进行隐藏,破解者将无法获知这部分特定函数代码,以实现对待防护代码的防护处理,避免造成厂商的损失。
实施例三
参照图3,示出了本发明实施例三的一种源代码防护装置的结构框图。
本发明实施例源代码防护装置包括:第一获取模块301,用于获取待防护源代码;转换模块302,用于将所述源代码的函数名进行乱码转换;隐藏模块303,用于将所述源代码中的特定函数代码进行隐藏,以实现对待防护代码的防护处理;应用模块304,用于将防护处理后的所述源代码应用于客户端。
本发明实施例提供的源代码防护装置,使用某些混淆工具将应用程序的源代码的函数名进行乱码转换,将源代码的函数名映射成乱码。这样,当破解者对应用程序的源代码进行破译时,破解出的代码将变成乱码,使得破解者无法获取应用程序的业务逻辑。或者当破解者对应用程序的源代码进行破解时,将应用程序的源代码中的特定函数代码进行隐藏,破解者将无法获知这部分特定函数代码,以实现对待防护代码的防护处理,避免造成厂商的损失。
实施例四
参照图4,示出了本发明实施例四的一种源代码防护装置的结构框图。
本发明实施例源代码防护装置包括:第一获取模块401,用于获取待防护源代码;转换模块402,用于将所述源代码的函数名进行乱码转换;隐藏模块403,用于将所述源代码中的特定函数代码进行隐藏,以实现对待防护代码的防护处理;应用模块404,用于将防护处理后的所述源代码应用于客户端。
优选地,所述转换模块402包括:生成第一代码子模块4021,用于对所述源代码的函数名进行混淆生成第一代码;导入子模块4022,用于将所述第一代码导入设定文件中。
优选地,所述隐藏模块403包括:确定子模块4031,用于确定所述源代码中的特定函数代码,以及所述特定函数代码对应的第一计算机语言;语言转换子模块4032,用于采用第二计算机语言将所述特定函数代码进行转换;隐藏子模块4033,用于将转换后的所述特定函数代码进行隐藏;包装子模块4034,用于将隐藏后的所述特定函数代码通过设定指令嵌套包装。
优选地,所述装置还包括:第二获取模块405,用于接收到用户发送的访问服务器的请求时,从服务器获取第一参数对应的参数值;确定模块406,用于确定与所述服务器之间约定的参数值对应的字符串;调用转换模块407,用于调用所述参数值转换程序,对所述字符串进行转换,得到至少一个参数值;匹配模块408,用于将获取的所述参数值与转换后得到的参数值进行匹配;响应模块409,用于依据匹配结果响应所述访问服务器的请求。
优选地,所述响应模块409包括:第一操作模块4091,用于当所述参数值与转换后得到的参数值中某一参数值匹配时,则响应访问请求;第二操作模块4092,用于当所述参数值与所述转换后得到的各参数值均不匹配时,则结束访问请求。
本发明实施例提供的源代码防护装置,使用某些混淆工具将应用程序的源代码的函数名进行乱码转换,将源代码的函数名映射成乱码。这样,当破解者对应用程序的源代码进行破译时,破解出的代码将变成乱码,使得破解者无法获取应用程序的业务逻辑。或者当破解者对应用程序的源代码进行破解时,将应用程序的源代码中的特定函数代码进行隐藏,破解者将无法获知这部分特定函数代码,以实现对待防护代码的防护处理,避免造成厂商的损失。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种源代码防护方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种源代码防护方法,其特征在于,所述方法包括:
获取待防护源代码;
将所述待防护源代码的函数名进行乱码转换,和/或将所述待防护源代码中的特定函数代码进行隐藏,以实现对所述待防护源代码的防护处理;
将防护处理后的所述待防护源代码应用于客户端,所述待防护源代码中包含参数值转换程序;
接收到用户发送的访问服务器的请求时,从服务器获取第一参数对应的参数值;
确定与所述服务器之间约定的参数值对应的字符串;
调用所述参数值转换程序,对所述字符串进行转换,得到至少一个参数值;
将获取的所述参数值与转换后得到的参数值进行匹配;
依据匹配结果响应所述访问服务器的请求;
所述依据匹配结果响应所述访问服务器的请求,包括:
当获取的所述参数值与转换后得到的参数值中某一参数值匹配时,则响应访问请求;
当获取的所述参数值与所述转换后得到的各参数值均不匹配时,则结束访问请求。
2.根据权利要求1所述的方法,其特征在于,所述将所述待防护源代码的函数名进行乱码转换的步骤,包括:
使用混淆工具对所述源代码的函数名进行混淆生成第一代码;
将所述第一代码导入设定文件中。
3.根据权利要求1所述的方法,其特征在于,所述将所述待防护源代码中的特定函数代码进行隐藏的步骤,包括:
确定所述源代码中的特定函数代码,以及所述特定函数代码对应的第一计算机语言;
采用第二计算机语言将所述特定函数代码进行转换;
将转换后的所述特定函数代码进行隐藏;
将隐藏后的所述特定函数代码通过设定指令嵌套包装。
4.一种源代码防护装置,其特征在于,所述装置包括:
第一获取模块,用于获取待防护源代码;
转换模块,用于将所述源代码的函数名进行乱码转换;
隐藏模块,用于将所述待防护源代码中的特定函数代码进行隐藏,以实现对所述待防护源代码的防护处理;
应用模块,用于将防护处理后的所述待防护源代码应用于客户端,所述待防护源代码中包含参数值转换程序;
第二获取模块,用于接收到用户发送的访问服务器的请求时,从服务器获取第一参数对应的参数值;
确定模块,用于确定与所述服务器之间约定的参数值对应的字符串;
调用转换模块,用于调用所述参数值转换程序,对所述字符串进行转换,得到至少一个参数值;
匹配模块,用于将获取的所述参数值与转换后得到的参数值进行匹配;
响应模块,用于依据匹配结果响应所述访问服务器的请求;
所述响应模块包括:
第一操作模块,用于当获取的所述参数值与转换后得到的参数值中某一参数值匹配时,则响应访问请求;
第二操作模块,用于当获取的所述参数值与所述转换后得到的各参数值均不匹配时,则结束访问请求。
5.根据权利要求4所述的装置,其特征在于,所述转换模块包括:
生成第一代码子模块,用于对所述源代码进行混淆生成第一代码;
导入子模块,用于将所述第一代码导入设定文件中。
6.根据权利要求4所述的装置,其特征在于,所述隐藏模块包括:
确定子模块,用于确定所述源代码中的特定函数代码,以及所述特定函数代码对应的第一计算机语言;
语言转换子模块,用于采用第二计算机语言将所述特定函数代码进行转换;
隐藏子模块,用于将转换后的所述特定函数代码进行隐藏;
包装子模块,用于将隐藏后的所述特定函数代码通过设定指令嵌套包装。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710179802.7A CN108629162B (zh) | 2017-03-23 | 2017-03-23 | 一种源代码防护方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710179802.7A CN108629162B (zh) | 2017-03-23 | 2017-03-23 | 一种源代码防护方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108629162A CN108629162A (zh) | 2018-10-09 |
CN108629162B true CN108629162B (zh) | 2020-06-02 |
Family
ID=63706955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710179802.7A Active CN108629162B (zh) | 2017-03-23 | 2017-03-23 | 一种源代码防护方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108629162B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795704A (zh) * | 2019-10-28 | 2020-02-14 | 成都超有爱科技有限公司 | 一种应用程序的源代码混淆方法、装置及存储介质 |
CN114307165A (zh) * | 2021-12-30 | 2022-04-12 | 完美世界(北京)软件科技发展有限公司 | 外挂检测方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951674A (zh) * | 2014-03-28 | 2015-09-30 | 中国银联股份有限公司 | 用于应用程序的信息隐藏方法 |
CN105205359A (zh) * | 2015-10-12 | 2015-12-30 | 厦门飞信网络科技有限公司 | 一种JavaScript代码保护方法及装置 |
CN105574368A (zh) * | 2015-12-10 | 2016-05-11 | 华青融天(北京)技术股份有限公司 | 一种Python程序模块的安全调用方法和装置 |
CN106131021A (zh) * | 2016-07-15 | 2016-11-16 | 北京元支点信息安全技术有限公司 | 一种请求认证方法及系统 |
CN106529224A (zh) * | 2016-10-27 | 2017-03-22 | 南京大学 | 基于rop攻击特点的二进制混淆方法 |
CN106778101A (zh) * | 2016-12-08 | 2017-05-31 | 合肥康捷信息科技有限公司 | 一种基于控制流和外形混淆的Python代码混淆方法 |
-
2017
- 2017-03-23 CN CN201710179802.7A patent/CN108629162B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951674A (zh) * | 2014-03-28 | 2015-09-30 | 中国银联股份有限公司 | 用于应用程序的信息隐藏方法 |
CN105205359A (zh) * | 2015-10-12 | 2015-12-30 | 厦门飞信网络科技有限公司 | 一种JavaScript代码保护方法及装置 |
CN105574368A (zh) * | 2015-12-10 | 2016-05-11 | 华青融天(北京)技术股份有限公司 | 一种Python程序模块的安全调用方法和装置 |
CN106131021A (zh) * | 2016-07-15 | 2016-11-16 | 北京元支点信息安全技术有限公司 | 一种请求认证方法及系统 |
CN106529224A (zh) * | 2016-10-27 | 2017-03-22 | 南京大学 | 基于rop攻击特点的二进制混淆方法 |
CN106778101A (zh) * | 2016-12-08 | 2017-05-31 | 合肥康捷信息科技有限公司 | 一种基于控制流和外形混淆的Python代码混淆方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108629162A (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3000068B1 (en) | Protecting data | |
CN105681039B (zh) | 用于生成密钥及对应解密的方法和设备 | |
US20180060878A1 (en) | Data authenticity identification method and device for safety check of two-dimensional code | |
CN104318135B (zh) | 一种基于可信执行环境的Java代码安全动态载入方法 | |
CN105260675B (zh) | 电子数据一致性验证方法、装置、系统及存证验证平台 | |
CN106506159A (zh) | 用于密钥安全的加密方法和设备 | |
CN108075888B (zh) | 动态url生成方法及装置、存储介质、电子设备 | |
KR20170051424A (ko) | 정보 암호화 및 해독 | |
CN106027228B (zh) | 一种网页标识的加解密方法及其加解密系统 | |
CN104281794A (zh) | 一种密码存储及验证的方法和装置 | |
CN107563176A (zh) | 基于u盘的登录认证方法、系统、可读存储介质和计算机 | |
CN112528236B (zh) | 基于虚拟机的应用软件授权方法 | |
CN106992859B (zh) | 一种堡垒机私钥管理方法及装置 | |
CN106302606A (zh) | 一种跨应用访问方法及装置 | |
CN108629162B (zh) | 一种源代码防护方法及装置 | |
CN105656626A (zh) | 逆向重组加密方法 | |
CN110149312B (zh) | 数据处理方法、装置、系统及计算机可读存储介质 | |
CN110245464B (zh) | 保护文件的方法和装置 | |
CN107181589A (zh) | 一种堡垒机私钥管理方法及装置 | |
CN108235067B (zh) | 一种视频流地址的鉴权方法及装置 | |
CN110457872B (zh) | 一种Android App应用资源的隐藏加固方法 | |
CN108965335B (zh) | 防止恶意访问登录接口的方法、电子设备及计算机介质 | |
CN114402322A (zh) | 函数调用方法、装置、电子设备及计算机可读介质 | |
CN107291773B (zh) | 一种网页地址生成方法和装置 | |
CN113254986B (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 |