[发明专利]一种脚本混淆方法及系统有效
申请号: | 201410086817.5 | 申请日: | 2014-03-10 |
公开(公告)号: | CN103927164B | 公开(公告)日: | 2017-06-06 |
发明(设计)人: | 薛小昊;王鑫;陈勇 | 申请(专利权)人: | 珠海市君天电子科技有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙)11413 | 代理人: | 项京,马敬 |
地址: | 519070 广东省珠海市唐家*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 脚本 混淆 方法 系统 | ||
技术领域
本发明涉及计算机技术,特别涉及一种脚本混淆方法及系统。
背景技术
随着科学技术的发展,计算机技术被广泛地应用于各个领域,为人们的工作、学习和日常生活提供了极大的便利。应用范围的扩大和应用深度的扩展,促使计算机的性能不断提高,进而对计算机软件提出了更高的要求。
在这种情况下,脚本语言作为一般程序设计语言的补充,得到了极为迅速的发展。脚本语言又被称为扩建的语言,或者动态语言,是一种用来控制应用程序的编程语言。由于脚本语言不需要编译,可以直接使用,而且具有小巧和高效的优点,因此越来越多的软件将脚本语言嵌入到软件中,来为应用程序提供灵活的扩展和定制功能。尤其在游戏软件和杀毒软件中,因为程序较为复杂,脚本语言被广泛的使用。相应的,如果脚本代码被泄露,会给用户带来不小的损失,因此需要增强脚本代码的安全性。
通过对脚本代码进行混淆,可以增强脚本安全性,目前存在两种脚本代码混淆方法:第一种方法是对脚本代码中的变量名、函数名和类名等内容进行混淆,产生可读性较差的代码;但是,这种方法最多只是对代码中的一些敏感名称进行混淆,脚本的执行逻辑依然很容易被看清楚,安全性较低;
第二种方法是将脚本编译成二进制码,嵌入到程序中;程序在执行的过程中,直接执行二进制码即可。但是,市面上存在很多成熟的反编译引擎,可以根据二进制中间码还原出脚本源代码,因此安全性也不高。
发明内容
为了解决上述问题,本发明提供了一种脚本混淆方法及系统,以提高脚本安全性,技术方案如下:
一种脚本混淆方法,包括:
根据预设的对应关系库,对脚本引擎源码中的特定信息进行混淆,得到特征引擎源码,编译所述特征引擎源码,得到特征引擎;
根据所述预设的对应关系库,对目标脚本代码中的特定信息进行混淆,得到第一脚本代码;其中,所述目标脚本代码符合所述脚本引擎的代码编写规则;
将所述特征引擎和所述第一脚本代码嵌入到应用程序中;
其中,所述特定信息包括:关键字、语法表义符和运算符中的至少一种,且所述脚本引擎源码中的特定信息与所述目标脚本代码中的特定信息相同。
所述对脚本引擎源码中的特定信息进行混淆,具体包括:对脚本引擎源码中的特定信息进行替换处理。
所述对目标脚本代码中的特定信息进行混淆,具体包括:对脚本代码中的特定信息进行替换处理。
不同的脚本引擎对应不同内容的对应关系库。
较佳的,该方法进一步包括:得到第一脚本代码之后,对所述第一脚本代码中的代码特征信息进行混淆,得到第二脚本代码,并将所述第二脚本代码代替所述第一脚本嵌入应用程序中;
其中,所述代码特征信息包括:变量名、函数名和类名中的至少一种。
本发明还提供了一种脚本混淆系统,包括:引擎混淆单元、代码混淆单元和嵌入单元;
所述引擎混淆单元,用于根据预设的对应关系库,对脚本引擎源码中的特定信息进行混淆,得到特征引擎源码,编译所述特征引擎源码,得到特征引擎;
所述代码混淆单元,用于根据所述预设的对应关系库,对目标脚本代码中的特定信息进行混淆,得到第一脚本代码;其中,所述目标脚本代码符合所述脚本引擎的代码编写规则;
所述嵌入单元,用于将所述特征引擎和所述第一脚本代码嵌入到应用程序中;
其中,所述特定信息包括:关键字、语法表义符和运算符中的至少一种,且所述脚本引擎源码中的特定信息与所述目标脚本代码中的特定信息相同。
所述引擎混淆单元具体用于:根据预设的对应关系库,对脚本引擎源码中的特定信息进行替换处理,得到特征引擎源码,编译所述特征引擎源码,得到特征引擎。
所述代码混淆单元具体用于:根据预设的对应关系库,对脚本代码中的特定信息进行替换处理,得到第一脚本代码;其中,所述目标脚本代码符合所述脚本引擎的代码编写规则。
不同的脚本引擎对应不同内容的对应关系库。
较佳的,所述代码混淆单元进一步用于:对所述第一脚本代码中的代码特征信息进行混淆,得到第二脚本代码;
所述嵌入单元具体用于:将所述第二脚本代码代替第一脚本代码,并将所述第二脚本代码和所述特征引擎嵌入应用程序中;
其中,所述代码特征信息包括:变量名、函数名和类名中的至少一种。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海市君天电子科技有限公司,未经珠海市君天电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410086817.5/2.html,转载请声明来源钻瓜专利网。