【技术实现步骤摘要】
一种脚本文件加固方法、装置及设备
本专利技术涉及计算机
,具体涉及一种脚本文件加固方法、装置及设备。
技术介绍
脚本文件是使用一种特定的描述性语言,依据一定的格式编写的可以执行的文件,通常可以由应用程序临时调用并执行。脚本文件的语法比较简单,比较容易掌握,且脚本文件与应用程序密切相关,包括相对应用程序自身的功能,因此,被广泛地应用于网页设计、游戏开发等中,但是,一些破解者通过非法手段破解热门手机游戏客户端,获取其重要的脚本文件等的源代码、配置文档、图片等资源,并据此开发山寨手机游戏,或者破解其脚本文件对游戏进行外挂。在现有技术中,对脚本文件的加密一般采用的方法是改变脚本文件的源码中的opcode(操作码)的顺序,让生成出来的文件中的字节码的编码与源码不一致,从而实现现有的反编译器无法反编译生成的文件。然而,破解人员很容易通过逆向分析的方式,得到opcode的正确顺序,然后对反编译器做小幅修改即可正常翻译,因此,现有的修改opcode对脚本文件进行保护的方法安全性较低,使得脚本文件无法得到有效的保护。因此,有必要提供一种脚本文件的加固方法,用以解决脚本文件易于 ...
【技术保护点】
1.一种脚本文件加固方法,其特征在于,所述方法包括:对待加固脚本文件所对应的函数数据进行解析处理,得到所述函数数据的执行指令和解析常量;对所述函数数据所对应的执行指令进行指令转换加固处理,得到待编码虚拟指令和转换常量;基于所述解析常量对所述待编码虚拟指令进行编码处理,得到虚拟指令;获取虚拟环境切换指令,所述虚拟环境切换指令用于执行所述虚拟指令;基于所述转换常量、所述虚拟指令以及所述虚拟环境切换指令生成加固后的脚本文件。
【技术特征摘要】
1.一种脚本文件加固方法,其特征在于,所述方法包括:对待加固脚本文件所对应的函数数据进行解析处理,得到所述函数数据的执行指令和解析常量;对所述函数数据所对应的执行指令进行指令转换加固处理,得到待编码虚拟指令和转换常量;基于所述解析常量对所述待编码虚拟指令进行编码处理,得到虚拟指令;获取虚拟环境切换指令,所述虚拟环境切换指令用于执行所述虚拟指令;基于所述转换常量、所述虚拟指令以及所述虚拟环境切换指令生成加固后的脚本文件。2.根据权利要求1所述的脚本文件加固方法,其特征在于,所述基于所述解析常量对所述待编码虚拟指令进行编码处理,得到虚拟指令之后,所述方法还包括:解码所述虚拟指令,得到所述虚拟指令的等价操作指令;获取虚拟环境切换指令,所述虚拟环境切换指令用于执行所述虚拟指令;基于所述转换常量、所述等价操作指令以及所述虚拟环境切换指令生成加固后的脚本文件。3.根据权利要求1或2所述的脚本文件加固方法,其特征在于,所述待加固脚本文件所对应的函数数据包括一个或多个函数数据;当所述待加固脚本文件所对应的函数数据包括多个函数数据时,所述对所述待加固脚本文件所对应的函数数据进行解析处理,得到所述函数数据所对应的执行指令和解析常量包括:获取所述待加固脚本文件中的嵌套函数数据,所述嵌套函数数据包括具有调用关系的多个函数数据;对所述嵌套函数数据进行递归解析处理,得到所述待加固脚本文件所对应的函数数据;对所述待加固脚本文件所对应的函数数据进行解析处理,得到所述函数数据所对应的执行指令和解析常量。4.根据权利要求2所述的脚本文件加固方法,其特征在于,在所述对所述函数数据所对应的执行指令进行指令转换加固处理之前,所述方法还包括:判断所述待加固脚本文件所对应的函数数据是否满足预设加固条件;若是,执行对所述函数数据所对应的执行指令进行指令转换加固处理的步骤。5.根据权利要求2所述的脚本文件加固方法,其特征在于,在所述对所述函数数据所对应的执行指令进行指令转换加固处理之前,所述...
【专利技术属性】
技术研发人员:彭智伟,
申请(专利权)人:深圳市腾讯信息技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。