CN105354449B - 一种面向Lua语言的加扰混淆方法和解密方法 - Google Patents
一种面向Lua语言的加扰混淆方法和解密方法 Download PDFInfo
- Publication number
- CN105354449B CN105354449B CN201510740424.6A CN201510740424A CN105354449B CN 105354449 B CN105354449 B CN 105354449B CN 201510740424 A CN201510740424 A CN 201510740424A CN 105354449 B CN105354449 B CN 105354449B
- Authority
- CN
- China
- Prior art keywords
- lua
- obscuring
- data dictionary
- scrambling
- source
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000006243 chemical reaction Methods 0.000 claims abstract description 15
- 230000000877 morphologic effect Effects 0.000 claims abstract description 9
- 230000001681 protective effect Effects 0.000 claims abstract description 3
- 230000008859 change Effects 0.000 claims description 7
- 238000002156 mixing Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 201000006549 dyspepsia Diseases 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
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
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)
- Devices For Executing Special Programs (AREA)
- Storage Device Security (AREA)
Abstract
本发明公布了种面向Lua语言的加扰混淆方法和解密方法,通过代码预处理方法、混淆方法和调用栈转换方法,针对代码进行词法分析,建立数据字典:将单词序列组合成语法短语,得到抽象语法树;通过最小词汇排序法进行初级混淆;通过控制流混淆方法进行高级混淆;使得混淆后的Lua源代码在语义上不发生改变的同时还无法被理解,以达到保护程序代码而又不影响程序的正常执行的目的。解密时,通过读取Lua源程序代码,根据数据字典中存储的对应关系进行源代码的逆向,获得解密后的Lua代码,即加扰混淆之前的Lua源程序代码。本发明可以有效地对Lua源程序进行版权保护,防止Lua源程序被逆向或篡改。
Description
技术领域
本发明涉及一种程序加扰混淆方法,尤其涉及一种面向Lua语言的加扰混淆方法和解密方法。
背景技术
随着计算机技术应用日益普及,软件产业得以飞速发展,与此同时,攻击者利用软件逆向技术对软件的各种攻击和未授权使用以及盗版复制等行为也越来越多。逆向分析技术可以被用来在不知道应用程序源代码的情况下分析应用程序的功能流程、篡改应用程序的数据代码等,逆向分析技术如果被不加限制的恶意使用,利用者可以分析获取应用程序的核心技术,也可以篡改应用程序的签名和作者信息,还可以将恶意代码注入到已有的应用程序中并通过二次打包进行伪装,这些行为都极大的危害了应用程序开发者的利益,严重损害了广大用户的隐私安全。随着iOS平台移动的游戏开发成为热点,使得轻量级的小体积的动态脚本语言Lua在2011年6月首次突破了TIOBE编程语言的前十名。由于Lua的语法简洁美观和最快的运行速度,使得Lua已成为嵌入式脚本语言的最佳选择。Lua代码高效的运行速率取决于Lua代码是在操作系统和移动终端上编译并运行的,这样,该动态脚本语言在娱乐和用户体验的iOS平台的发展空间是非常大的。
代码混淆技术是近几年才发展并兴起的一种新技术。第一次对代码混淆进行系统研究是在上世纪90年代末开始的,是Java语言的迅速发展引起了对混淆技术的研究热潮。这是因为Java目标代码—字节代码(bytecode)很容易被反编译为Java源代码,这就迫切要求有效的保护字节代码的方法。第一次对混淆转换进行了详细的总结和分类的是Collberg,他在《A Taxonomy of Obfuscation Transformations.Department ofComputer Science》中第一次对混淆转换进行了详细的总结和分类,也首次提出了混淆转换的有效性与性能的若干评价标准。他将混淆转换分为四类:外形混淆转换、控制混淆转换、数据混淆转换和预防性混淆转换。
Chenxi Wang在《A security architecture for survivability mechanisms:[dissertation]》中实现了在C语言源代码上的多种控制混淆转换与数据混淆转换;还给出了混淆转换造成的性能过载以及混淆转换对静态分析工具IBM NPIC tool以及Rutger PAFtoolkit的有效性。
Hohhl提出用带有时间限制的黑盒(time-limited black box)方法来保护移动Agent。这里的黑盒就是指混淆转换过的Agent程序。对移动Agent进行逆向工程,做出有意义的发现或修改需要一定的时间,据此,限制移动Agent在目的主机上运行的时间。在派发移动Agent的之前,需要对其进行混淆转换,这增加了逆向工程的代价,从而延长在目的主机上的运行时间。
Cullen Linn在《Obfuscation of executable code to improve resistance tostatic Disassembly》中从另一个角度研究了目标代码混淆技术,通过对反汇编过程的分析,采用一种混淆方法能够阻挠逆向工程,使得获取程序的汇编指令非常困难或不能正确得到程序的汇编指令。
综上所述,现有的加扰混淆方法大多是针对C语言和Java语言的,缺少面向Lua语言的成熟的混淆方法。
发明内容
为了克服上述现有技术的不足,本发明提供一种面向Lua语言的加扰混淆方法和解密方法,包括代码预处理、混淆算法和调用栈转换,该方法能够保证混淆后的Lua源代码在语义上不发生改变,不影响程序的正常执行;同时使得混淆后的Lua源代码难以理解,可起到保护版权,防止他人剽窃软件中的智力成果或对软件进行有目的的篡改的作用。
本发明提供的技术方案是:
一种面向Lua语言的加扰混淆方法,通过代码预处理方法、混淆方法和调用栈转换方法,使得混淆后的Lua源代码在语义上不发生改变的同时还无法被理解,以达到保护程序代码而又不影响程序的正常执行的目的;包括如下步骤:
A.进行代码预处理,执行如下操作:
A1)进行代码预处理设置;
A2)针对代码进行词法分析,根据构词规则识别单词,建立数据字典:
A3)针对词法分析得到的单词序列进行语法分析,将单词序列组合成语法短语,得到抽象语法树;
A4)根据A2)建立的数据字典和A3)形成的抽象语法树进行遍历,获取遍历结果;
B.对Lua源程序进行加扰混淆,执行如下操作:
B1)设置混淆参数;混淆参数包括混淆等级和混淆后源文件的输出路径;
B2)读取步骤A2)建立的数据字典;
B3)通过最小词汇排序法进行初级混淆,将初级混淆前和初级混淆后的名称存储在数据字典中;
B4)通过控制流混淆方法进行高级混淆,改变源程序的执行流程,在数据字典中保存高级混淆前后的调用栈信息;
B5)获得加扰混淆后的Lua代码,保存代码,结束操作。
上述面向Lua语言的加扰混淆方法中,步骤A2)所述进行词法分析,建立数据字典,具体是:从左到右逐个字符读入Lua源程序,根据构词规则识别单词,建立得到所述Lua源程序的数据字典。
上述面向Lua语言的加扰混淆方法中,步骤A4)所述抽象语法树包括所述抽象语法树的头结点chunk和整个抽象语法树对象;步骤A4)所述遍历结果包括抽象语法树对象CommonTree对象的所有节点,对应Lua源代码中的所有模块名。
上述面向Lua语言的加扰混淆方法中,步骤B3)所述进行初级混淆,具体是,根据Lua源文件路径递归读取目录下的文件,读取步骤A2)得到的所述Lua源程序的数据字典,采用最小词汇排序法产生单词对Lua源程序中的名称进行替换;同时将混淆前和混淆后的相应名称均存储在数据字典中。
上述面向Lua语言的加扰混淆方法中,所述名称包括变量名、函数名、参数名和表名。
本发明同时还提供一种针对使用上述面向Lua语言的加扰混淆方法进行加扰混淆后的Lua源程序代码进行解密的方法,通过读取Lua源程序代码,根据数据字典中存储的对应关系进行源代码的逆向,具体执行如下操作:
C1)读取所述Lua源程序代码的数据字典;
C2)根据数据字典,针对混淆词汇进行逆向,将混淆后的名称替换为混淆前的名称;
C3)根据数据字典,读取并解析调用栈信息;
C4)转换调用栈信息,得到转换后的调用栈信息,即获得解密后的Lua程序代码。
上述针对使用加扰混淆方法进行加扰混淆后的Lua源程序代码进行解密的方法中,步骤C3)所述读取并解析调用栈信息,具体包括:根据数据字典获得混淆后的调用栈信息;根据调用栈信息解析名称;将混淆后的名称转化为混淆前的名称。
与现有技术相比,本发明的有益效果是:
本发明提供一种面向Lua语言的加扰混淆方法和解密方法,包括代码预处理、混淆算法和调用栈转换,利用本发明提供的技术方案,能够保证混淆后的Lua源代码在语义上不发生改变,不影响程序的正常执行;同时使得混淆后的Lua源代码难以理解,可以有效地对Lua源程序进行版权保护,防止其被逆向或篡改。
附图说明
图1是本发明实施例的整体流程框图。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
本发明提供一种面向Lua语言的加扰混淆方法,该方法能够保证混淆后的Lua源代码在语义上不发生改变,不影响程序的正常执行;同时使得混淆后的Lua源代码难以理解,可起到保护版权,防止他人剽窃软件中的智力成果或对软件进行有目的的篡改的作用。
图1是本发明实施例提供的面向Lua语言的加扰混淆方法的整体流程框图,包括进行预处理、加密或解密流程;操作步骤包括进行预处理、进行加扰混淆或逆向和转换调用栈等。
首先对Lua源代码进行预处理,然后根据用户选择的功能项(加密或解密)执行操作,其具体实施方式如下:
A.进行预处理,一方面可以读取并保存Lua源代码中的所有模块名,避免混淆后的Lua源文件无法运行;另外也可以生成符号表和抽象语法树,为混淆步骤提供便利。在对Lua源代码进行预处理时,执行如下操作:
A1)进行预处理设置;
A2)进行词法分析,建立数据字典:
从左到右一个字符一个字符地读入Lua源程序,对构成源程序的字符流进行扫描,然后根据构词规则识别单词,建立数据字典;
A3)语法分析:对词法分析得到的单词序列进行语法分析,将单词序列组合成各类语法短语,从而得到抽象语法树,包括抽象语法树的头结点chunk和整个抽象语法树对象;
A4)遍历:根据选择的功能项和A2)建立的数据字典,对A3)语法分析阶段形成的抽象语法树进行遍历,并获取遍历结果;
遍历结果包括CommonTree对象的所有节点;保存Lua源代码中的所有模块名。
通过预处理,得到Lua源代码模块CommonTree对象的所有节点,保存Lua源代码中的所有模块名;然后可根据用户选择的功能项(加密或解密)执行操作。加密保证混淆后的Lua源代码在语义上不发生改变,不影响程序的正常执行;同时使得混淆后的Lua源代码难以理解,可起到保护版权,防止他人剽窃软件中的智力成果或对软件进行有目的的篡改的作用。
B.在加密时,对Lua源程序进行加扰混淆时,执行如下操作:
B1)设置混淆参数;
混淆参数包括混淆等级和混淆后源文件的输出路径等
B2)读取步骤A2)建立的数据字典;
B3)通过最小词汇排序法进行初级混淆;
具体地,根据Lua源文件路径递归读取目录下的文件,读取数据字典,采用最小词汇排序法产生单词对Lua源程序中的变量名、函数名、参数名、表名等进行替换,将混淆前和混淆后的名称存储在数据字典中;
B4)通过控制流混淆方法进行高级混淆,改变源程序的执行流程,在数据字典中保存混淆前后的调用栈信息;
B5)获得加扰混淆后的Lua代码,保存代码,结束操作。
使用上述面向Lua语言的加扰混淆方法对Lua语言代码进行加密后,得到了加密后的Lua代码;若需要对加密后的Lua代码进行调试,则要对代码进行解密。
C.对代码进行解密,即进行加密的逆向,具体是读取Lua源代码,根据数据字典中存储的对应关系进行源代码的逆向,执行如下操作:
C1)读取数据字典;
C2)混淆词汇逆向;
根据数据字典,将输入的混淆后的名称替换为混淆前的名称;
C3)读取并解析调用栈信息;
根据数据字典,数据字典保存了混淆后的调用栈信息;根据调用栈信息解析函数名,将混淆后的函数名转化为混淆前的函数名的名称;
C4)转换调用栈信息,得到转换后的调用栈信息,获得解密后的Lua代码,即加扰混淆之前的Lua源程序代码。
下面通过实例对本发明做进一步说明。
实施例:
为混淆某文件夹下的500个Lua源代码文件,首先对其进行预处理操作,对Lua源代码进行词法分析、语法分析,得到数据字典和抽象语法树。数据字典中保存变量名、函数名、参数名、表名等,抽象语法树保存源代码的抽象语法结构。根据功能项需求,选择进行加密或者解密过程。
在加密过程中,递归地读取Lua源代码文件,采用最小词汇排序法对Lua源代码进行初级混淆,最小词汇排序法具体是:根据字符串在数组中的位置k,将k对26取余,设所得余数为num,将第num个小写字母添加到新字符头部,每次取余后k除26后取整得到新的k,重复以上操作直到k<1,最后用新得到的字符串代替原字符串;将新得到的字符串和原字符串都保存到数据字典中;
最小词汇排序法的源代码如下所示:
接下来对Lua源程序进行控制流混淆,具体步骤是:输入一个抽象语法树,根据在最小词汇法中得到的变量名(为上述的字符串),利用不透明谓词构造函数,得到不透明谓词P,在抽象语法树中选取合适的插入点O,插入不透明谓词P,从而对控制流进行混淆,可改变源程序的执行流程。
通过上述方法,即得到了加密后的Lua代码。
如果程序员想对加密后的Lua代码进行调试,那么要对代码进行解密。解密的步骤具体是:读取数据字典,根据数据字典中存储的对应关系进行源代码的逆向,还原源代码的变量名、函数名、参数名、表名等;然后读取调用栈信息,解析,将混淆后的栈名转化为混淆前的名称;完成解密,集将加密后的代码还原成源代码。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
Claims (7)
1.一种面向Lua语言的加扰混淆方法,通过代码预处理方法、混淆方法和调用栈转换方法,使得混淆后的Lua源代码在语义上不发生改变的同时还无法被理解,以达到保护程序代码而又不影响程序的正常执行的目的;包括如下步骤:
A.进行代码预处理,执行如下操作:
A1)进行代码预处理设置;
A2)针对代码进行词法分析,根据构词规则识别单词,建立数据字典:
A3)针对词法分析得到的单词序列进行语法分析,将单词序列组合成语法短语,得到抽象语法树;
A4)根据A2)建立的数据字典和A3)形成的抽象语法树进行遍历,获取遍历结果;
B.对Lua源程序进行加扰混淆,执行如下操作:
B1)设置混淆参数;混淆参数包括混淆等级和混淆后源文件的输出路径;
B2)读取步骤A2)建立的数据字典;
B3)通过最小词汇排序法进行初级混淆,将初级混淆前和初级混淆后的名称存储在数据字典中;
所述最小词汇排序法具体包括:根据字符串在数组中的位置k,将k对26取余,设所得余数为num,将第num个小写字母添加到新字符头部,每次取余后k除26后取整得到新的k,重复以上操作直到k<1,最后用新得到的字符串代替原字符串;将新得到的字符串和原字符串都保存到数据字典中;
B4)通过控制流混淆方法进行高级混淆,改变源程序的执行流程,在数据字典中保存高级混淆前后的调用栈信息;
B5)获得加扰混淆后的Lua代码,保存代码,结束操作。
2.如权利要求1所述面向Lua语言的加扰混淆方法,其特征是,步骤A2)所述进行词法分析,建立数据字典,具体是:从左到右逐个字符读入Lua源程序,根据构词规则识别单词,建立得到所述Lua源程序的数据字典。
3.如权利要求1所述面向Lua语言的加扰混淆方法,其特征是,步骤A4)所述抽象语法树包括所述抽象语法树的头结点chunk和整个抽象语法树对象;步骤A4)所述遍历结果包括抽象语法树对象CommonTree对象的所有节点,对应Lua源代码中的所有模块名。
4.如权利要求1所述面向Lua语言的加扰混淆方法,其特征是,步骤B3)所述进行初级混淆,具体是,根据Lua源文件路径递归读取目录下的文件,读取步骤A2)得到的数据字典,采用最小词汇排序法产生单词对Lua源程序中的名称进行替换;同时将混淆前和混淆后的相应名称均存储在数据字典中。
5.如权利要求4所述面向Lua语言的加扰混淆方法,其特征是,所述名称包括变量名、函数名、参数名和表名。
6.一种针对使用权利要求1~5任一项所述面向Lua语言的加扰混淆方法进行加扰混淆后的Lua源程序代码进行解密的方法,其特征是,所述解密通过读取Lua源程序代码,根据数据字典中存储的对应关系进行源代码的逆向,具体执行如下操作:
C1)读取所述Lua源程序代码的数据字典;
C2)根据数据字典,针对混淆词汇进行逆向,将混淆后的名称替换为混淆前的名称;
C3)根据数据字典,读取并解析调用栈信息;
C4)转换调用栈信息,得到转换后的调用栈信息,即获得解密后的Lua程序代码。
7.如权利要求6所述的方法,其特征是,步骤C3)所述读取并解析调用栈信息,具体包括:根据数据字典获得混淆后的调用栈信息;根据调用栈信息解析名称;将混淆后的名称转化为混淆前的名称。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510740424.6A CN105354449B (zh) | 2015-11-04 | 2015-11-04 | 一种面向Lua语言的加扰混淆方法和解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510740424.6A CN105354449B (zh) | 2015-11-04 | 2015-11-04 | 一种面向Lua语言的加扰混淆方法和解密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105354449A CN105354449A (zh) | 2016-02-24 |
CN105354449B true CN105354449B (zh) | 2018-08-21 |
Family
ID=55330420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510740424.6A Expired - Fee Related CN105354449B (zh) | 2015-11-04 | 2015-11-04 | 一种面向Lua语言的加扰混淆方法和解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105354449B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888644A (zh) * | 2019-12-06 | 2020-03-17 | 成都安恒信息技术有限公司 | 一种自定义混淆方案的JavaScript代码混淆方法 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038354A (zh) * | 2016-02-03 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 代码混淆方法、代码运行方法及装置 |
CN107203707B (zh) * | 2016-03-16 | 2020-05-12 | 阿里巴巴集团控股有限公司 | 一种实现程序代码混淆的方法和系统 |
CN106775935B (zh) * | 2016-12-01 | 2019-09-24 | 携程旅游网络技术(上海)有限公司 | 解释型语言的解析方法及其装置和计算机系统 |
CN109033764B (zh) * | 2017-06-09 | 2023-04-11 | 腾讯科技(深圳)有限公司 | 反混淆处理方法及终端、计算机设备 |
CN107229848A (zh) * | 2017-06-12 | 2017-10-03 | 北京洋浦伟业科技发展有限公司 | 一种代码加固方法和装置 |
CN108182358B (zh) * | 2017-12-28 | 2020-09-29 | 江苏通付盾信息安全技术有限公司 | 文件保护方法、装置、计算设备及计算机存储介质 |
CN109992987B (zh) * | 2017-12-29 | 2021-04-27 | 港融科技有限公司 | 基于Nginx的脚本文件保护方法、装置及终端设备 |
CN107992725B (zh) * | 2017-12-29 | 2020-08-07 | 北京星河星云信息技术有限公司 | 一种代码加密、解密方法及装置 |
CN108446536B (zh) * | 2018-02-12 | 2021-08-13 | 北京梆梆安全科技有限公司 | 一种基于符号执行和单点逻辑的源代码加固方法及装置 |
CN109614772B (zh) * | 2018-11-20 | 2021-02-02 | 江苏通付盾信息安全技术有限公司 | 基于应用安装包文件的代码转换方法及装置 |
CN109711119A (zh) * | 2018-12-29 | 2019-05-03 | 360企业安全技术(珠海)有限公司 | 加密代码的运行方法及装置、存储介质、终端 |
CN109815651A (zh) * | 2019-01-18 | 2019-05-28 | 北京智游网安科技有限公司 | 基于中间代码的iOS应用程序处理方法、系统及介质 |
CN110309629B (zh) * | 2019-06-18 | 2023-10-10 | 创新先进技术有限公司 | 一种网页代码加固方法、装置及设备 |
CN110555291B (zh) * | 2019-08-06 | 2021-08-27 | 苏宁云计算有限公司 | 网页脚本代码保护方法及装置 |
CN110647329B (zh) * | 2019-08-13 | 2024-07-30 | 平安科技(深圳)有限公司 | 代码混淆方法、装置、计算机设备和存储介质 |
CN111475168B (zh) * | 2020-04-14 | 2023-05-05 | 中国人民解放军战略支援部队信息工程大学 | 一种代码编译方法及装置 |
CN114281562A (zh) * | 2020-12-24 | 2022-04-05 | 深圳支流科技有限公司 | 一种低代码api网关的实现方法及装置 |
CN113110952B (zh) * | 2021-04-09 | 2024-10-18 | 北京沃东天骏信息技术有限公司 | 获取应用程序中的sdk异常信息的方法和装置 |
CN113434148B (zh) * | 2021-06-30 | 2024-03-22 | 广东迅维信息产业股份有限公司 | 防解密客户端开发编译方法、装置、电子设备及存储介质 |
CN113761486B (zh) * | 2021-09-10 | 2023-09-05 | 上海熙菱信息技术有限公司 | 一种基于语法糖解析的一键式代码混淆方法 |
CN113778899A (zh) * | 2021-09-28 | 2021-12-10 | 广州四三九九信息科技有限公司 | 一种在Lua代码编译前检查语法错误和性能的方法 |
CN117574334B (zh) * | 2023-08-17 | 2024-05-28 | 广东工业大学 | 一种结合md5与序列到序列模型的代码混淆方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841515A (zh) * | 2009-03-19 | 2010-09-22 | 北京理工大学 | 可变目标的协议数据单元编解码代码自动生成的实现方法 |
CN103927164A (zh) * | 2014-03-10 | 2014-07-16 | 珠海市君天电子科技有限公司 | 一种脚本混淆方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000072112A2 (en) * | 1999-05-12 | 2000-11-30 | Fraunhofer Crcg, Inc. | Obfuscation of executable code |
-
2015
- 2015-11-04 CN CN201510740424.6A patent/CN105354449B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841515A (zh) * | 2009-03-19 | 2010-09-22 | 北京理工大学 | 可变目标的协议数据单元编解码代码自动生成的实现方法 |
CN103927164A (zh) * | 2014-03-10 | 2014-07-16 | 珠海市君天电子科技有限公司 | 一种脚本混淆方法及系统 |
Non-Patent Citations (1)
Title |
---|
混沌不透明谓词在代码混淆中的研究与应用;苏庆等;《计算机科学》;20130630;第40卷(第6期);第155-159页,图5-7 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888644A (zh) * | 2019-12-06 | 2020-03-17 | 成都安恒信息技术有限公司 | 一种自定义混淆方案的JavaScript代码混淆方法 |
CN110888644B (zh) * | 2019-12-06 | 2023-03-31 | 成都安恒信息技术有限公司 | 一种自定义混淆方案的JavaScript代码混淆方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105354449A (zh) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105354449B (zh) | 一种面向Lua语言的加扰混淆方法和解密方法 | |
CN108595921B (zh) | 一种源代码中字符串的混淆方法和装置 | |
US9053300B2 (en) | Device and a method for generating software code | |
CN103761475B (zh) | 检测智能终端中恶意代码的方法及装置 | |
CN101438529B (zh) | 经由动态转换的主动计算机恶意软件保护 | |
CN110598379B (zh) | 一种实现字符串混淆的方法、设备及存储介质 | |
CN110210190A (zh) | 一种基于二次汇编的代码混淆方法 | |
CN106126981B (zh) | 基于虚拟函数表替换的软件安全防护方法 | |
CN112115427B (zh) | 代码混淆方法、装置、电子设备及存储介质 | |
Zhai et al. | Text-to-image diffusion models can be easily backdoored through multimodal data poisoning | |
CN104462990A (zh) | 字符串加解密方法和装置 | |
CN103065069A (zh) | 一种基于壳技术的软件保护方法 | |
CN110704854B (zh) | 针对文本数据保留格式的流式加密方法 | |
CN104751024A (zh) | 一种对核心源代码进行加密的方法及装置 | |
KR102001046B1 (ko) | 공통 중간 언어를 위한 보안 제공 장치와 방법, 및 보안 실행 장치와 방법 | |
CN110457869B (zh) | 程序编译加密方法、装置、存储介质及电子设备 | |
Kuang et al. | Exploiting dynamic scheduling for VM-based code obfuscation | |
CN104978539B (zh) | flash加密、解密方法以及加密、解密装置 | |
Yang et al. | Towards code watermarking with dual-channel transformations | |
Bernstein et al. | KyberSlash: Exploiting secret-dependent division timings in Kyber implementations | |
CN110457872B (zh) | 一种Android App应用资源的隐藏加固方法 | |
EP2856377B1 (en) | Identification and execution of subsets of a plurality of instructions in a more secure execution environment | |
CN114357391A (zh) | 数据加、解密方法及计算机存储介质 | |
CN114547560A (zh) | 一种处理方法、装置及电子设备 | |
Banescu | Characterizing the strength of software obfuscation against automated attacks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180821 Termination date: 20191104 |
|
CF01 | Termination of patent right due to non-payment of annual fee |