[发明专利]基于虚拟机的代码保护方法及装置、电子设备、存储介质有效
申请号: | 201710624871.4 | 申请日: | 2017-07-27 |
公开(公告)号: | CN108345773B | 公开(公告)日: | 2020-09-08 |
发明(设计)人: | 汪德嘉;华保健;邵根波;赵迪;刘庆川 | 申请(专利权)人: | 江苏通付盾信息安全技术有限公司;江苏通付盾科技有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F8/53 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 江苏省苏州市工业园区东*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 虚拟机 代码 保护 方法 装置 电子设备 存储 介质 | ||
本发明公开了一种基于虚拟机的代码保护方法及装置、电子设备、存储介质,其中,方法包括:解析程序原文件,将程序中待保护的代码进行反编译,得到第一抽象语法树;将第一抽象语法树翻译生成第二抽象语法树;其中,第二抽象语法树由虚拟机指令构成;将第二抽象语法树编译生成二进制文件;将二进制文件与程序原文件进行合并,生成新的程序文件。对程序进行反编译并转换为只能够在虚拟机上运行的虚拟机指令。程序执行时,由虚拟机执行转换后的虚拟机指令,完成原来代码的功能。将待保护的代码完全替换,即使对合并后的程序进行反汇编或内存dump,也无法获得可阅读的原代码,大大提升了代码保护的安全性。
技术领域
本发明涉及数据安全领域,尤其涉及一种基于虚拟机的代码保护方法及装置、电子设备、存储介质。
背景技术
随着移动互联技术的发展,移动应用的数量呈现快速增长。但在移动应用快速增长的背后,却潜藏着较大的隐患。移动应用的安全,需要进一步的加强。由于移动应用的井喷式发展,使得在设计开发移动应用时没有过多的考虑到移动应用的安全性。当黑客通过对移动应用进行反向工程,可以很容易地破解移动应用,从而对移动应用的市场造成较大的经济损失。
现有技术一般采用通过加密的方法对应用程序中的关键代码进行加固,使应用程序得到保护。这种加固方法包括加密过程和解密过程。通过加密过程对应用程序中的关键代码进行加固,当动态执行应用程序时进行解密。但这种方法使得加密算法通过逆向被保护程序分析得到,进而破解加密算法,对应用程序进行解密。
因此,需要一种从根本上包含代码安全的代码保护方法。
发明内容
本发明的发明目的是针对现有技术的缺陷,提供了一种基于虚拟机的代码保护方法及装置、电子设备、存储介质,用于解决现有技术中代码加密算法易被破解等问题。
根据本发明的一个方面,提供了一种基于虚拟机的代码保护方法,包括:
解析程序原文件,将程序中待保护的代码进行反编译,得到第一抽象语法树;
将第一抽象语法树翻译生成第二抽象语法树;其中,第二抽象语法树由虚拟机指令构成;
将第二抽象语法树编译生成二进制文件;
将二进制文件与程序原文件进行合并,生成新的程序文件。
根据本发明的另一个方面,还提供了一种基于虚拟机的代码保护装置,包括:
反编译模块,用于解析程序原文件,将程序中待保护的代码进行反编译,得到第一抽象语法树;
翻译模块,用于将第一抽象语法树翻译生成第二抽象语法树;其中,第二抽象语法树由虚拟机指令构成;
编译模块,用于将第二抽象语法树编译生成二进制文件;
合并模块,用于将二进制文件与程序原文件进行合并,生成新的程序文件。
根据本发明的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述基于虚拟机的代码保护方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述基于虚拟机的代码保护方法对应的操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏通付盾信息安全技术有限公司;江苏通付盾科技有限公司,未经江苏通付盾信息安全技术有限公司;江苏通付盾科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710624871.4/2.html,转载请声明来源钻瓜专利网。