[发明专利]编译结果处理方法、装置、存储介质、处理器及编译器在审
申请号: | 201711099134.3 | 申请日: | 2017-11-09 |
公开(公告)号: | CN107885981A | 公开(公告)日: | 2018-04-06 |
发明(设计)人: | 张伟智 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京博浩百睿知识产权代理有限责任公司11134 | 代理人: | 宋子良 |
地址: | 310000 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 编译 结果 处理 方法 装置 存储 介质 处理器 编译器 | ||
技术领域
本发明涉及编程语言、软件、反逆向工程领域,具体而言,涉及一种编译结果处理方法、装置、存储介质、处理器及编译器。
背景技术
当今的计算机网络操作系统在代码设计时,更偏重于使用的方便性,有时容易忽略其本身的安全性,进而容易引发被Hacker(黑客)攻击的事件,造成大量的信息泄露,从而引发了不必要的损失。
在Lua编程中,为了防止他人破解由Lua编写的软件,目前最常见的Lua反编译方法是对源代码编译后的二进制文件进行整体加密,等到执行时,先对文件进行整体解密,然后再解析运行。然而,不管采用多复杂的算法对编译后的二进制文件进行加密,相应的解密函数、密钥也是要保存在对外发布的程序中的,否则程序就无法把二进制执行文件解密然后执行。这样就给了Hacker有可乘之机,Hacker根本不需要知道解密步骤,也不需要去找出密钥,只需要在程序把二进制执行文件解密之后,执行之前那一刻进行拦截,就可以取到解密后的二进制执行文件,进而通过逆向工程得出文本源代码。就好像先把菜谱锁在箱子里,然后把开锁步骤藏在用于烹饪的人工智能(Artificial Intelligence,简称为AI)机器人身上,我们把箱子和机器人打包卖给客户,我们只希望客户下命令给机器人,得到他想吃的,而不想泄漏我们的菜谱。虽然客户不知道打开箱子的步骤,但是客户可以在机器人打开箱子的瞬间进行拦截,复制出菜谱。箱子再结实,开锁步骤再复杂也无济于事,机器人终究都是要打开箱子,否则机器人就无法进行烹饪了。
针对相关技术中存在的由Lua编写的软件容易被逆向工程出具有可读性的文本源代码,从而导致软件缺乏安全性的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种编译结果处理方法、装置、存储介质、处理器及编译器,以至少解决相关技术中存在的由Lua编写的软件容易被逆向工程出具有可读性的文本源代码,从而导致软件缺乏安全性的问题。
根据本发明的一个实施例,提供了一种编译结果处理方法,包括:在对Lua程序源代码进行编译时,对所述Lua程序的函数的以下信息至少之一进行加密:局部变量名、函数定义所属的文件路径;将所述函数以及加密后的所述信息保存为编译结果。
可选地,对所述局部变量名进行加密包括:利用对称加密算法对所述局部变量名进行加密。
可选地,利用对称加密算法对所述局部变量名进行加密包括:利用以下至少之一的对称加密算法对所述局部变量名进行加密:数据加密标准DES、高级加密标准AES、Blowfish。
可选地,对所述函数定义所属的文件路径进行加密包括:利用对称加密算法对所述函数定义所属的文件路径进行加密。
可选地,利用对称加密算法对所述函数定义所属的文件路径进行加密包括:利用以下至少之一的对称加密算法对所述函数定义所属的文件路径进行加密:数据加密标准DES、高级加密标准AES、Blowfish。
根据本发明的另一个实施例,提供了一种编译结果处理装置,包括:加密模块,用于在对Lua程序源代码进行编译时,对所述Lua程序的函数的以下信息至少之一进行加密:局部变量名、函数定义所属的文件路径;保存模块,用于将所述函数以及加密后的所述信息保存为编译结果。
可选地,在对所述局部变量名进行加密时,所述加密模块用于:利用对称加密算法对所述局部变量名进行加密。
可选地,在对所述函数定义所属的文件路径进行加密时,所述加密模块用于:利用对称加密算法对所述函数定义所属的文件路径进行加密。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项所述的方法。
根据本发明的又一个实施例,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的方法。
根据本发明的又一个实施例,还提供了一种编译器,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行上述任意一项所述的编译结果处理方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711099134.3/2.html,转载请声明来源钻瓜专利网。