基于虚拟机软件保护探究和设计探析

基于虚拟机软件保护探究和设计探析

ID:5998007

大小:27.50 KB

页数:6页

时间:2017-12-30

基于虚拟机软件保护探究和设计探析_第1页
基于虚拟机软件保护探究和设计探析_第2页
基于虚拟机软件保护探究和设计探析_第3页
基于虚拟机软件保护探究和设计探析_第4页
基于虚拟机软件保护探究和设计探析_第5页
资源描述:

《基于虚拟机软件保护探究和设计探析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于虚拟机软件保护探究和设计探析  摘要:本文以基于虚拟机的软件保护为研究对象,首先针对基于虚拟机的软件保护基本工作原理进行了简要分析,进而分别从虚拟机编译器设计方案、代码混淆技术设计方案这两个方面入手,针对基于虚拟机的软件保护设计方案加以了详细分析与阐述,上述问题旨在于引起各方特别关注与重视。关键词:虚拟机软件保护工作原理设计方案分析中图分类号:TP309文献标识码:A文章编号:1672-3791(2013)05(a)-0002-02软件产品有着极为突出的技术密集型特征。在软件产品的开发过程当中,往往需要消耗大量的人力及物力,可以说,软件产品

2、的开发与生成是一个极为复杂的过程。然而,软件产品在生成之后,却极容易被复制。正是由于这一特点,使得软件产品市场面临着极为猖獗的盗版影响。从这一角度上来说,如何实现对软件的有效保护,这一问题备受各方人员的特别关注与重视。特别是对于本文所研究的建立在虚拟机基础之上的软件保护而言,设计过程当中需要重点关注对包括虚拟机编译器的设计方案、以及代码混淆技术的应用,以保障其应用质量的有效性。本文试针对以上相关问题做详细分析与说明。61基于虚拟机的软件保护工作原理分析在现阶段技术条件支持下,按照功能进行划分,可以将软件保护技术划分为两种类型:(1)以防止未经授

3、权非法使用为目的的软件保护技术;(2)以防止非法篡改、或者重利用为目的的软件保护技术。其中,前者主要建立在登陆密码、或者是序列号的前提下所实现,而后者则主要是建立在虚拟机基础之上所实现。虚拟机从本质上来说属于存储程序计算机,常规运行状态下主要涉及到的取指指令、解码指令、执行指令这几个方面。具体的操作方式在于:将软件程序当中的某一特定部分重新编译成为仅能够为自定义虚拟机所识别与读取的代码,将这部分代码的执行指令交由虚拟机,以此种方式防止代码执行出现逆向运算的问题。在的那个钱技术条件支持下,一个完整的虚拟机主要由以下几个部分所构成:(1)虚拟CPU

4、处理环境;(2)虚拟机编译器;(3)虚拟机解释器;(4)虚拟机指令系统。在上述部分的共同作用之下,虚拟机主要实现的技术包括以下几类:(1)硬件层:主要应用对整个操作系统的执行,例如VM6Ware一类;(2)硬件/软件层:主要应用于对特定部分操作的执行,例如杀毒软件一类;(3)汇编代码层:主要在对特定部分操作指令进行执行的过程当中,实现对程序代码的有效保护。结合上述分析不难发现:基于对虚拟机软件保护基本工作原理的分析,在有关虚拟机软件保护的技术的研究过程当中,需要建立在基本保护思想的基础之上,突出虚拟机编译器设计以及代码混淆技术设计的重要性。2基

5、于虚拟机的软件保护思想分析基于虚拟机的软件保护思想的核心在于:通过设定独立运行指令系统的方式,将现实生活中不存在的计算机汇编器以及调试器设备构造出来,使其能够完成对重要代码的编写作业。具体的软件保护设计框架结构示意图(见图1)。按照这一流程来说,在应用虚拟机进行软件保护的过程当中,首先需要通过编译的方式,将源程序转化成为适宜于本地虚拟机的机器指令,结合预先设定的保护对象,选取相应的保护代码,并将其传输至虚拟机当中,经过编译器的指令转换处理,再在虚拟解释器当中嵌入相应的代码,最终输出程序。整个基于虚拟机软件保护的优势在于:能够对保护壳中绝大部分重

6、要代码进行编写作业,且最大限度的避免保护注册算法出现逆向问题,提高软件保护的安全性。3基于虚拟机的软件保护关键问题分析3.1虚拟机编译器的设计方案分析6按照工作运行状态的差异性来划分,虚拟机主要可以分为(1)基于寄存器的虚拟机、以及(2)基于堆栈的虚拟机这两种类型。这两者之间在工作运行状态上的差异性主要受到其提供指令集体系结构的差异性。结合软件保护的基本要求来看,现阶段,在众多的软件保护环境当中,以Windows操作系统的应用最为普遍。该操作系统环境下所应用的指令集体系结构均表现为X86结构。此种架构设计模式不但能够显著控制编码的复杂程度,从而

7、防止编译器运行过程中过函数因出现跳转偏移问题而需要进行的修复工作,同时还能够实现对整个虚拟机模拟功能的完善,确保其对各种异常运行问题的处理。按照此种方式来说,对于虚拟机编译器的设计仅需要建立在X86结构指令的基础之上完成即可。3.2虚拟机代码混淆技术设计方案分析通过对代码混淆技术的合理应用,能够使基于虚拟机的软件保护性能得到显著的增强与完善,其中所涉及到的主要内容包括:(1)代码乱序;(2)代码替换。其中,前者能够使软件保护行为实施过程当中所对应的逆向工程难度增大,确保虚拟机壳能够重新获取相对于软件保护程序的控制权;而后者则能够实现对软件内存部

8、分的有效保护。在诸多的代码混淆技术当中,又以花指令技术的应用作为频繁。在虚拟机代码混淆技术的设计过程当中,可行的方案包括以下两个方面:第一,在功能条件

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。