一种基于虚拟指令集加固的虚拟机保护方法技术

技术编号:19176772 阅读:38 留言:0更新日期:2018-10-17 00:15
本发明专利技术涉及一种安全性更高的应用安全保护方法,是一种基于虚拟指令集加固的虚拟机保护方法。主要包括虚拟环境构建阶段和虚拟机解释执行阶段:虚拟环境构建阶段,对需要进行保护的应用程序进行指令替换,使用自定义的字节码替换原生的指令,并将虚拟机嵌入到保护后的新应用中;本阶段会生成一个关键代码受到保护的应用;虚拟机解释执行阶段,对受保护的新的应用,原执行环境无法直接解析执行,需要其中嵌入的虚拟机来解释执行定义的虚拟指令。本发明专利技术提高应用的安全性,减少被破解带来的潜在损失,使应用的开发者不必再专门去研究安全性问题,从而将更多精力放在产品上,提高产品的收益。

A virtual machine protection method based on virtual instruction set reinforcement

The invention relates to an application security protection method with higher security, and is a virtual machine protection method based on virtual instruction set reinforcement. It mainly includes the construction phase of virtual environment and the interpretation and execution phase of virtual machine: in the construction phase of virtual environment, instructions are replaced for the applications that need to be protected, native instructions are replaced by custom bytecodes, and the virtual machine is embedded into the new protected applications; a key code is generated in this phase. Protected applications; virtual machine interpretation execution phase, the new protected applications, the original execution environment can not directly parse the execution, the need for embedded virtual machines to interpret the implementation of the definition of virtual instructions. The invention improves the security of the application, reduces the potential loss caused by cracking, and makes the application developer no longer need to specially study the security problem, thereby putting more energy on the product and improving the product benefit.

【技术实现步骤摘要】
一种基于虚拟指令集加固的虚拟机保护方法
本专利技术涉及一种安全性更高的应用安全保护方法,是一种基于虚拟指令集加固的虚拟机保护方法。
技术介绍
Android一直以极大的占比占有着用户市场,针对Android平台开发的APK应用、软件、游戏与日俱增,这也使市场上的投机分子瞄准这一块内容,以破解植入广告、盗版、植入病毒木马等非法手段进行各种盈利活动,损害开发者的利益,也危害了应用的用户及市场环境。逆向分析是开展后续破解、盗版等的基础与前提,因此为了提高应用、软件的安全性,提高逆向分析的难度成为常用的技术手段。目前增加逆向分析难度、提高安全性的常见保护方法有插入垃圾代码(eg:花指令)、对应用程序进行加壳、对项目的程序源代码进行针对性的代码混淆、应用加密等。但是,这种方法由于保护原理比较单一、固定,很容易就可以被熟悉的人员破解,无法提供可靠的高强度的保护效果。
技术实现思路
本专利技术的目的是提供一种基于虚拟指令集加固的虚拟机保护方法:将基于JVM的指令集进行进一步虚拟化加固,当加固后的指令需要执行时,再交由专门的虚拟机(VISR-VMP)进行处理。为解决上述问题,本专利技术是通过以下技术方案实现的:一种基于虚拟指令集加固的虚拟机保护方法,主要包括虚拟环境构建阶段和虚拟机解释执行阶段:虚拟环境构建阶段,对需要进行保护的应用程序进行指令替换,使用自定义的字节码替换原生的指令,并将虚拟机嵌入到保护后的新应用中;本阶段会生成一个关键代码受到保护的应用,具体实现步骤如下:第一步:提取源应用程序的关键代码指令,并将代码指令通过JVM指令集与虚拟指令集进行转换——虚拟化能够大幅度增加逆向的复杂度,虚拟化的同时加入随机化处理,又可以进一步增大逆向的难度,从而起到更好的保护作用;第二步:将转换后的虚拟指令进行编码,生成对应的字节码——虚拟指令最终以字节码的形式存在于保护后的应用程序中;第三步:将生成的字节码指令集与虚拟化核心组件打包重写到应用程序的新节中,并将原始代码的起始处进行重定向——添加跳转指令到VM的初始化程序入口,其余部分使用空指令填充,最终生成合法的新应用。虚拟机解释执行阶段,对受保护的新的应用,原执行环境无法直接解析执行,需要其中嵌入的虚拟机来解释执行定义的虚拟指令,具体实现步骤如下:第一步:应用程序执行到被保护的关键代码时,添加的跳转指令会将程序的执行流重定向到VM的初始化程序处进行初始化;第二步:初始化完成后,会将执行流转到VM的虚拟解释器主循环程序处继续执行;第三步:主循环程序逐条读取字节码指令并调用VM的处理程序去解释执行,直到解释执行完所有被保护的字节码指令,然后执行VM的退出程序;第四步:退出程序根据寄存器环境中的数值重新设置真实的寄存器环境,最后跳转回原关键代码的结束位置,继续去执行程序的后续指令。本专利技术提高应用的安全性,减少被破解带来的潜在损失,使应用的开发者不必再专门去研究安全性问题,从而将更多精力放在产品上,提高产品的收益。附图说明:下面结合附图对本专利技术进一步说明:图1是本专利技术的虚拟机系统框架图图2是本专利技术的系统工作流程图图3是本专利技术的受保护代码段的执行流程图具体实施方式:下面结合附图及具体实施方式对本专利技术进行详细描述:如图1、图2和图3所示,一种基于虚拟指令集加固的虚拟机保护方法,主要包括虚拟环境构建阶段和虚拟机解释执行阶段:虚拟环境构建阶段,对需要进行保护的应用程序进行指令替换,使用自定义的字节码替换原生的指令,并将虚拟机嵌入到保护后的新应用中;本阶段会生成一个关键代码受到保护的应用,具体实现步骤如下:第一步:提取源应用程序的关键代码指令,并将代码指令通过JVM指令集与虚拟指令集进行转换——虚拟化能够大幅度增加逆向的复杂度,虚拟化的同时加入随机化处理,又可以进一步增大逆向的难度,从而起到更好的保护作用;第二步:将转换后的虚拟指令进行编码,生成对应的字节码——虚拟指令最终以字节码的形式存在于保护后的应用程序中;第三步:将生成的字节码指令集与虚拟化核心组件打包重写到应用程序的新节中,并将原始代码的起始处进行重定向——添加跳转指令到VM的初始化程序入口,其余部分使用空指令填充,最终生成合法的新应用。虚拟机解释执行阶段,对受保护的新的应用,原执行环境无法直接解析执行,需要其中嵌入的虚拟机来解释执行定义的虚拟指令,具体实现步骤如下:第一步:应用程序执行到被保护的关键代码时,添加的跳转指令会将程序的执行流重定向到VM的初始化程序处进行初始化;第二步:初始化完成后,会将执行流转到VM的虚拟解释器主循环程序处继续执行;第三步:主循环程序逐条读取字节码指令并调用VM的处理程序去解释执行,直到解释执行完所有被保护的字节码指令,然后执行VM的退出程序;第四步:退出程序根据寄存器环境中的数值重新设置真实的寄存器环境,最后跳转回原关键代码的结束位置,继续去执行程序的后续指令。需要强调的是:以上仅是本专利技术的较佳实施例而已,并非对本专利技术作任何形式上的限制,凡是依据本专利技术的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本专利技术技术方案的范围。本文档来自技高网...

【技术保护点】
1.一种基于虚拟指令集加固的虚拟机保护方法,其特征在于:主要包括虚拟环境构建阶段和虚拟机解释执行阶段:虚拟环境构建阶段,对需要进行保护的应用程序进行指令替换,使用自定义的字节码替换原生的指令,并将虚拟机嵌入到保护后的新应用中;虚拟机解释执行阶段,对受保护的新的应用,原执行环境无法直接解析执行,需要其中嵌入的虚拟机来解释执行定义的虚拟指令。

【技术特征摘要】
1.一种基于虚拟指令集加固的虚拟机保护方法,其特征在于:主要包括虚拟环境构建阶段和虚拟机解释执行阶段:虚拟环境构建阶段,对需要进行保护的应用程序进行指令替换,使用自定义的字节码替换原生的指令,并将虚拟机嵌入到保护后的新应用中;虚拟机解释执行阶段,对受保护的新的应用,原执行环境无法直接解析执行,需要其中嵌入的虚拟机来解释执行定义的虚拟指令。2.根据权利要求1所述的一种基于虚拟指令集加固的虚拟机保护方法,其特征在于:所述虚拟环境构建阶段会生成一个关键代码受到保护的应用,具体实现步骤如下:第一步:提取源应用程序的关键代码指令,并将代码指令通过JVM指令集与虚拟指令集进行转换;第二步:将转换后的虚拟指令进行编码,生成对应的字节码;第三步:将生成...

【专利技术属性】
技术研发人员:刘洋
申请(专利权)人:苏州天魂网络科技股份有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1