一种软件保护的方法及系统的制作方法

文档序号:6337598阅读:150来源:国知局
专利名称:一种软件保护的方法及系统的制作方法
技术领域
本发明涉及软件保护领域,特别涉及一种软件保护的方法和系统。
背景技术
软件加密是软件安全保护和软件版权保护的主要手段。一种常用的软件保护方法就是给程序加一个普通的“壳”,所谓的“壳”,就是指软件加密程序。当一个被加“壳” 好的应用程序通过标准的访问方法在Windows系统上运行时,系统将自动为该程序分配一段内存空间,其中一部分空间是用来存放被加载的Windows库函数,该应用程序在运行过程中,会与Windows系统发生一系列的交互操作,此时Windows系统的功能消息对话框 MessageBoxO将向电脑终端弹出一些简单的提示信息,比如(是、否、取消、确认、忽略、 跳过、警告、报错等)。如果想破解这个被加密好的应用程序,程序破解员根据所弹出的 MessageBoxO,便可查找阅读DOS中断21和中断10等相关命令,以及了解计算机软件运行机制,便可迅速破解已加密好的应用程序,从而导致经济利益的损失。

发明内容
有鉴于此,为了更好地防止软件被破解,同时解决由于软件被破解而带来的利益损失,本发明的实例提供了一种软件保护的方法及系统,其方法包括自定义的函数加载方式;一个虚拟机制的工作平台;不能够被已有的二进制代码调试器解析的消息对话框。本发明还提供一种软件保护的系统,包括加载模块、加/解密模块、人机交互模块、解析模块; 其中加载模块是把Windows库函数加载到虚拟机中;人机交互模块是系统与电脑终端交互响应的平台;加/解密模块是用来加/解密虚拟机中的Windows库函数。本发明解决了现有加密技术中容易被跟踪,被调试破解的问题,从而最大程度地提高了软件的安全性。根据本发明的一个方面,一种软件保护的方法,其特征在于,该方法包括A、自定义的函数加载方式;B、虚拟机的工作机制;C、不能被已有的二进制代码调试器解析的消息对话框。D、改变原函数的访问入口根据本发明的一个方面,一种软件保护的方法,其特征还在于,在步骤A中,该方法通过自定义的函数加载方式加载Windows库函数。根据本发明的一个方面,一种软件保护的方法,其特征还在于,所采用的函数加载方式并非Windows系统所采用的标准默认的库函数加载方式。根据本发明的一个方面,一种软件保护的方法,其特征还在于,在步骤B中,该方法提供了一个虚拟机工作机制。根据本发明的一个方面,一种软件保护的方法,其特征还在于,虚拟机工作机制指通过软件模拟的具有完整硬件系统功能的,一套完整的计算机系统。根据本发明的一个方面,一种软件保护的方法,其特征还在于,在步骤C中,该方法含有一个不能被已有的二进制代码调试器解析的消息对话框。根据本发明的一个方面,一种软件保护的方法,其特征还在于,程序破译者无法通过拦截系统响应的消息对话框来破解受保护的程序。根据本发明的一个方面,一种软件保护的方法,其特征还在于,在步骤D中,该软件保护方法修改了原函数的访问入口。根据本发明的一个方面,一种软件保护的方法,其特征还在于,在原函数被系统访问之前,需要先访问一段被处理的程序代码。根据本发明的一个方面,一种软件保护的系统,其特征还在于,所述系统包括加载模块把Windows库函数加载到虚拟机中;人机交互模块是系统与电脑终端交互响应的平台;加/解密模块用来加/解密虚拟机中的Windows库函数。根据本发明的一个方面,一种软件保护的系统,其特征还在于,通过自定义的加载方式,把Windows库函数加载中虚拟机中。根据本发明的一个方面,一种软件保护的系统,其特征还在于,人机交互模块是系统与电脑终端响应的消息对话框;进一步地,该消息对话框内容不能被已有的二进制代码调试器解析。根据本发明的一个方面,一种软件保护的系统,其特征还在于,加/解密模块是用来加解/密Windows系统的库函数;具体为当Windows库函数被加载到虚拟机中后,此模块对其自动加密;当当前程序自动加载Windows库函数时,此模块对其自动解密。


图1为应用程序A在Windows操作系统上运行的简化流程图;图2为本发明优选实施案例的工作流程图。
具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下通过举实施例,对本发明进一步详细说明。图1为应用程序A在Windows操作系统上运行的简化流程图。如图1所示,某应用程序A要在Windows系统上运行,首先Windows系统自动加载运行此应用程序所需要的库函数,当库函数加载成功后,应用程序顺利运行。图2为本发明优选实施案例的工作流程图。如图2所示,案例背景陈述在 Windows系统平台上运行某应有程序A,需要加载Windows库函数a。在步骤201中,根据本发明的软件加密技术,对应用程序进行加密处理,加密处理后的应用程序为A2 ;由此可知,经过加密技术处理后的A2由两部分组成,一部分是加密程序Al,一部分为原应用程序A。在步骤202中,被加密处理后的程序A2在Windows操作系统上运行,此时,需要先运行Al,也即一段加密程序;Al在Windows操作系统上运行时,同样也需要加载相对应的 Windows库。进一步地,当系统为加密程序Al加载库函数的时,应用程序A在Windows操作系统上运行所需加载的库函数a同时被加载至虚拟机中。在步骤203中,虚拟机的加/解密模块自动加密原函数A运行时所需Windows库函数a为al。通过该步骤可知,本发明的特点之一就是通过自定义的加载方式加载Windows 库,而且在虚拟机中,这些被加载的库函数还被加密处理。在步骤204中,当加密程序Al运行完之后,此时开始运行原应用程序A ;在虚拟机平台上运行原应用程序A时,同样需要加载Windows库函数a ;由步骤203得知,原程序A运行时所需的Windows库函数a已被加密模块加密成al。在步骤205中,解密模块自动解密Windows库函数al为a。在步骤206中,原程序A执行图1所述的工作流程图。在这里需要特别强调的是,在以上整个工作流程中,人机交互模块始终响应着系统与电脑终端的交互信息,进一步地此消息对话框的内容不能被已有的二进制代码调试器解析。以上所述,仅为本发明的较佳的具体实施方式
,单本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应该涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
权利要求
1.一种软件保护的方法,其特征在于,该方法包括A、自定义的函数加载方式;B、虚拟机的工作机制;C、不能被已有的二进制代码调试器解析的消息对话框;D、改变原函数的访问入口;
2.根据权利要求1所述的一种软件保护的方法,其特征在于,在步骤A中,该方法通过自定义的函数加载方式加载Windows库函数。
3.根据权利要求2所述的一种软件保护的方法,其特征在于,所采用的函数加载方式并非Windows系统所采用的标准默认的库函数加载方式。
4.根据权利要求1所述的一种软件保护的方法,其特征在于,在步骤B中,该方法提供了一个虚拟机工作机制。
5.根据权利要求4所述的一种软件保护的方法,其特征在于,虚拟机工作机制是指通过软件模拟的具有完整硬件系统功能的,一套完整的计算机系统。
6.根据权利要求1所述的一种软件保护的方法,其特征在于,在步骤C中,该方法含有一个不能被已有的二进制代码调试器解析的消息对话框。
7.根据权利要求6所述的一种软件保护的方法,其特征在于,程序破译者无法通过拦截系统响应的消息对话框来破解受保护的程序。
8.根据权利要求1所述的一种软件保护的方法,其特征在于,该软件保护方法修改了原函数的访问入口。
9.根据权利要求8所述的一种软件保护的方法,其特征在于,在原函数被系统访问之前,需要先访问一段被处理的函数。
10.一种软件保护的系统,其特征在于,所述系统包括加载模块把Windows库函数加载到虚拟机中;人机交互模块是系统与电脑终端交互响应的平台;加/解密模块用来加/解密被加载到虚拟机中的Windows库函数。
11.根据权利要求10所述的一种软件保护系统,其特征在于,通过自定义的加载方式, 把Windows库函数加载中虚拟机中。
12.根据权利要求10所述的一种软件保护系统,其特征在于,人机交互模块是系统与电脑终端响应的消息对话框;进一步地,该消息对话框内容不能被已有的二进制代码调试器解析。
13.根据权利要求10所述的一种软件保护系统,其特征在于,加/解密模块是用来加解/密Windows系统的库函数;具体为当Windows库函数被加载到虚拟机中后,此模块对其自动加密;当当前程序自动加载Windows库函数时,此模块对其自动解密。
全文摘要
本发明的实施例涉及软件领域,尤其涉及软件保护领域。为了解决现有加密技术容易被破解的问题,本发明的实施例提供了一种软件保护的方法及系统,其方法包括自定义的函数加载方式;一个虚拟机制的工作平台;不能够被已有的二进制代码调试器解析的消息对话框。本发明还提供一种软件保护的系统,包括加载模块、加/解密模块、人机交互模块、解析模块;其中加载模块是把Windows库函数加载到虚拟机中;人机交互模块是系统与电脑终端交互响应的平台;加/解密模块是用来加/解密被加载到虚拟机中的Windows库函数。本发明解决了现有加密技术中容易被跟踪,被调试破解的问题,从而最大程度地提高了软件的安全性。
文档编号G06F21/22GK102486820SQ20101057201
公开日2012年6月6日 申请日期2010年12月3日 优先权日2010年12月3日
发明者邹芬 申请人:邹芬
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1