[发明专利]一种面向Lua语言的加扰混淆方法和解密方法有效
申请号: | 201510740424.6 | 申请日: | 2015-11-04 |
公开(公告)号: | CN105354449B | 公开(公告)日: | 2018-08-21 |
发明(设计)人: | 文伟平 | 申请(专利权)人: | 北京鼎源科技有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京万象新悦知识产权代理事务所(普通合伙) 11360 | 代理人: | 张肖琪 |
地址: | 100086 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公布了种面向Lua语言的加扰混淆方法和解密方法,通过代码预处理方法、混淆方法和调用栈转换方法,针对代码进行词法分析,建立数据字典:将单词序列组合成语法短语,得到抽象语法树;通过最小词汇排序法进行初级混淆;通过控制流混淆方法进行高级混淆;使得混淆后的Lua源代码在语义上不发生改变的同时还无法被理解,以达到保护程序代码而又不影响程序的正常执行的目的。解密时,通过读取Lua源程序代码,根据数据字典中存储的对应关系进行源代码的逆向,获得解密后的Lua代码,即加扰混淆之前的Lua源程序代码。本发明可以有效地对Lua源程序进行版权保护,防止Lua源程序被逆向或篡改。 | ||
搜索关键词: | 一种 面向 lua 语言 混淆 方法 解密 | ||
【主权项】:
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代码,保存代码,结束操作。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京鼎源科技有限公司,未经北京鼎源科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510740424.6/,转载请声明来源钻瓜专利网。
- 上一篇:动态文化嵌入式可变灯箱
- 下一篇:一种指路牌