基于虚拟机的软件保护研究与设计探讨

基于虚拟机的软件保护研究与设计探讨摘要:本文以基于虚拟机的软件保护为研究对象,首先针对基于虚拟机的软件保护基本工作原理进行了简要分析,进而分别从虚拟机编译器设计方案、代码混淆技术设计方案这两个方面入手,针对基于虚拟机的软件保护设计方案加以了详细分析与阐述,上述问题旨在于引起各方特别关注与重视。关键词:虚拟机软件保护工作原理设计方案分析:TP309文献标识码:A:1672-3791(2013)05(a)-0002-02软件产品有着极为突出的技术密集型特征。在软件产品的开发过程当中,往往需要消耗大量的人力及物力,可以说,软件产品的开发与生成是一个极为复杂的过程。然而,软件产品在生成之后,却极容易被复制。正是由于这一特点,使得软件产品市场面临着极为猖獗的盗版影响。从这一角度上来说,如何实现对软件的有效保护,这一问题备受各方人员的特别关注与重视。特别是对于本文所研究的建立在虚拟机基础之上的软件保护而言,设计过程当中需要重点关注对包括虚拟机编译器的设计方案、以及代码混淆技术的应用,以保障其应用质量的有效性。本文试针对以上相关问题做详细分析与说明。1基于虚拟机的软件保护工作原理分析在现阶段技术条件支持下,按照功能进行划分,可以将软件保护技术划分为两种类型:(1)以防止未经授权非法使用为目的的软件保护技术;(2)以防止非法篡改、或者重利用为目的的软件保护技术。其中,前者主要建立在登陆密码、或者是序列号的前提下所实现,而后者则主要是建立在虚拟机基础之上所实现。虚拟机从本质上来说属于存储程序计算机,常规运行状态下主要涉及到的取指指令、解码指令、执行指令这几个方面。具体的操作方式在于:将软件程序当中的某一特定部分重新编译成为仅能够为自定义虚拟机所识别与读取的代码,将这部分代码的执行指令交由虚拟机,以此种方式防止代码执行出现逆向运算的问题。在的那个钱技术条件支持下,一个完整的虚拟机主要由以下儿个部分所构成:(1)虚拟CPU处理环境;(2)虚拟机编译器;(3)虚拟机解释器;(4)虚拟机指令系统。在上述部分的共同作用之下,虚拟机主要实现的技术包括以下几类:(1)硬件层:主要应用对整个操作系统的执行,例如VMWare一类;(2)硬件/软件层:主要应用于对特定部分操作的执行,例如杀毒软件一类;(3)汇编代码层:主要在对特定部分操作指令进行执行的过程当中,实现对程序代码的有效保护。结合上述分析不难发现:基于对虚拟机软件保护基本工作原理的分析,在有关虚拟机软件保护的技术的研究过程当中,需要建立在基本保护思想的基础之上,突出虚拟机编译器设计以及代码混淆技术设计的重要性。2基于虚拟机的软件保护思想分析基于虚拟机的软件保护思想的核心在于:通过设定独立运行指令系统的方式,将现实生活中不存在的计算机汇编器以及调试器设备构造出来,使其能够完成对•重要代码的编写作业。具体的软件保护设计框架结构示意图(见图1)。按照这一流程来说,在应用虚拟机进行软件保护的过程当中,首先需要通过编译的方式,将源程序转化成为适宜于本地虚拟机的机器指令,结合预先设定的保护对象,选取相应的保护代码,并将其传输至虚拟机当中,经过编译器的指令转换处理,再在虚拟解释器当中嵌入相应的代码,最终输出程序。整个基于虚拟机软件保护的优势在于:能够对保护壳中绝大部分重要代码进行编写作业,旦最大限度的避免保护注册算法出现逆向问题,提高软件保护的安全性。3基于虚拟机的软件保护关键问题分析3.1虚拟机编译器的设计方案分析按照工作运行状态的差异性来划分,虚拟机主要可以分为(1)基于寄存器的虚拟机、以及(2)基于堆栈的虚拟机这两种类型。这两者之间在工作运行状态上的差异性主要受到其提供指令集体系结构的差异性。结合软件保护的基本要求来看,现阶段,在众多的软件保护环境当中,以Windows操作系统的应用最为普遍。该操作系统环境下所应用的指令集体系结构均表现为X86结构。此种架构设计模式不但能够显著控制编码的复杂程度,从而防止编译器运行过程中过函数因出现跳转偏移问题而需要进行的修复工作,同时还能够实现对整个虚拟机模拟功能的完善,确保其对各种异常运行问题...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?