[发明专利]一种面向Lua语言的加扰混淆方法和解密方法有效

专利信息
申请号: 201510740424.6 申请日: 2015-11-04
公开(公告)号: CN105354449B 公开(公告)日: 2018-08-21
发明(设计)人: 文伟平 申请(专利权)人: 北京鼎源科技有限公司
主分类号: G06F21/14 分类号: G06F21/14
代理公司: 北京万象新悦知识产权代理事务所(普通合伙) 11360 代理人: 张肖琪
地址: 100086 北京市海淀*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 面向 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代码,保存代码,结束操作。

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)所述读取并解析调用栈信息,具体包括:根据数据字典获得混淆后的调用栈信息;根据调用栈信息解析名称;将混淆后的名称转化为混淆前的名称。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京鼎源科技有限公司,未经北京鼎源科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201510740424.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top