中断程序软件保护的方法

文档序号:6379510阅读:357来源:国知局
专利名称:中断程序软件保护的方法
技术领域
本发明涉及一种软件保护的方法,特别涉及一种中断程序软件保护的方法。
背景技术
随着信息处理能力的需求,功能强大且处理程序简易的应用程序软件逐渐在发展中,而且软件的功能及版本发展速度日新月异,当软件研发者努力将其辛苦开发出来的软件贩售给消费者使用的同时,却出现贪图眼前利益的盗版业者,利用破解软件保护技术的方式,将软件研发者辛苦开发的软件程序,加以复制并从中谋取暴利,在知识产权逐渐受到重视的今天,软件保护技术俨然成为非常受重视的一项课题。
一般软件保护技术大部分架构于操作系统(Operating System;OS)环境下,但这些软件保护技术会面临两个问题,程序破解者(Cracker)有能力反编译出被破解软件及有能力动态跟踪破解软件,若这两个问题同时都存在时,那么实现软件保护几乎不可能,而软件保护研发人员的工作正是朝解决这样的问题去研究,为此出现了一些典型的保护方法(比如,乱序跳转,单向加密等),其中单向加密利用无法从结果推回到原先的值的原理来解决反编译的问题,但只要在操作系统OS可见范围内,都无法确保这两个问题不会同时存在,也就是公知软件保护方式所面临的一个瓶颈。

发明内容
鉴于以上的问题,本发明的主要目的在于提供一种中断程序软件保护的方法,通过利用应用程序安装作业程序中,触发一中断处理程序,检查基本输入输出系统版本是否兼容,以决定是否继续执行应用程序作业程序,主要是在作业环境不可见的范围中,作为软件的保护技术。
因此,为达到上述目的,本发明所揭示的中断程序软件保护的方法,包括有依据一驱动程序执行该应用程序作业程序;执行一系统指令并取得一代码地址;触发该中断处理程序;依据该中断处理程序检查基本输入输出系统版本是否兼容;确认该基本输入输出系统版本兼容时,产生一执行代码到该代码地址;该中断程序作业完成;以及该应用程序依据该执行代码继续作业。
其中确认该基本输入输出系统版本为不兼容时,产生一执行终止代码到该代码地址;该中断程序作业完成;以及该应用程序依据该执行终止代码终止作业。
有关本发明的特征与运用,配合附图作最佳实施例详细说明如下。


图1A及图1B是本发明的方块图;及图2是本发明的流程图。
其中,附图标记说明如下10 应用程序20 驱动程序30 操作系统40 基本输入输出系统50 代码实体地址60 预定地址70 代码步骤200依据一驱动程序执行应用程序作业程序步骤205执行一系统指令并取得一代码地址步骤210触发一中断程序步骤215检查基本输入输出系统版本是否兼容步骤220产生一执行代码到代码地址步骤225应用程序依据执行代码继续应用程序作业程序步骤230产生一执行终止代码到代码地址步骤235应用程序依据执行终止代码终止应用程序作业程序
具体实施例方式
请参照图1A及图1B,是本发明的方块图,包括有应用程序10、驱动程序20、操作系统30、基本输入输出系统40、代码实体地址50、预定地址60及代码70,在应用程序10中预留一个代码70,当应用程序10在未通过基本输入输出系统40认证的情况下,将无法正常执行作业。
首先请参照图1A,在应用程序10安装过程中执行一系统指令(SystemCall),并传入一参数,该传入的参数表示代码70的虚拟地址,而这个虚拟地址可经由一加密处理过程来保护,以增加其保密性。
在得到应用程序10传入的参数后,驱动程序20将代码70的虚拟地址转换为代码实体地址50。
驱动程序20将代码实体地址50储存到基本输入输出系统40预设的系统内存的预定地址60,并于基本输入输出系统40激活后,把控制权交还给操作系统30时,将储存到预定地址60的代码实体地址50的系统内存部分隐藏,其中这段隐藏的系统内存只有与基本输入输出系统40搭配的驱动程序20可以使用,接下来触发一系统管理中断(System management Interrupt;SMI)。
请参照图1B,中断处理程序会到预定地址60取得代码的实体地址50,并将代码70写入在代码实体地址50上,中断处理程序完成回到正常作业程序,其中代码70由检查基本输入输出系统40版本是否兼容,而决定代码70的内容。
应用程序30继续执行,当执行到代码70时,代码70将决定应用程序30是否继续正常执行,若检查基本输入输出系统版本40为兼容时,则代码70为继续执行应用程序作业程序;若检查基本输入输出系统40版本为不兼容时,则代码70为终止应用程序30作业程序。
请参照图2,是本发明的步骤流程图,包括有依据一驱动程序执行该应用程序作业程序(步骤200);依照作业程序执行一系统指令,并取得一代码地址(步骤205),其中代码地址可经由一虚拟地址转换为一实体地址的步骤,以增强其保密性;该代码地址为一系统内存地址。。
驱动程序触发中断处理程序作业(步骤210);依据中断处理程序检查基本输入输出系统版本是否兼容(步骤215);确认该基本输入输出系统版本为兼容时,产生一执行代码并写入到系统指令所取得的代码地址上(步骤220);中断程序作业完成及应用程序依据产生的执行代码继续作业(步骤225)。
确认该基本输入输出系统版本不兼容时,产生一执行终止代码到代码地址(步骤230);中断程序作业完成及应用程序依据产生执行终止代码终止作业(步骤235)。
本发明所揭示的利用中断程序作软件保护方式,是利用中断程序判断应用程序是否继续执行作业,因为中断程序检查基本输入输出系统的版本信息是否正确,若正确则写入一执行代码以允许应用程序继续执行作业程序,这种方式是利用操作系统不可见范围来进行软件保护,也就是系统管理中断,简单地说就是利用检查硬件信息,来判断软件是否被重复安装使用在不同硬件上,与公知的避免程序破解者利用撷取安装程序历程纪录文件信息,破解应用程序的软件保护技术不同,且避免公知软件保护技术所会面临背景技术所提到的两个问题,提高软件保护作用。
虽然本发明以前述的较佳实施例揭示如上,然而并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的专利保护范围须视本说明书所附的权利要求的界定为准。
权利要求
1.一种中断程序软件保护的方法,利用一应用程序安装过程中,产生一基本输入输出系统的中断处理程序,包括有依据一驱动程序执行该应用程序作业程序;执行一系统指令并取得一代码地址;触发该中断处理程序;依据该中断处理程序检查基本输入输出系统版本是否兼容;确认该基本输入输出系统版本兼容时,产生一执行代码到该代码地址;该中断程序作业完成;以及该应用程序依据该执行代码继续作业。
2.如权利要求1所述中断程序软件保护的方法,其中,该中断处理程序为一系统管理中断。
3.如权利要求1所述中断程序软件保护的方法,其中,确认基本输入输出系统版本不兼容时,产生一执行终止代码到该代码地址。
4.如权利要求1所述中断程序软件保护的方法,其中,该应用程序依据该执行终止代码终止作业。
5.如权利要求1所述中断程序软件保护的方法,其中,该代码地址还经由一虚拟地址转换一实体地址的步骤。
6.如权利要求1所述中断程序软件保护的方法,其中,该代码地址为一系统内存地址。
全文摘要
一种中断程序软件保护的方法,利用应用程序中,预留一执行代码,于应用程序安装过程中时,触发一中断程序作业,并检查基本输入输出系统(BasicInput Output System;BIOS)版本是否兼容,以决定应用程序是否继续正常执行作业程序。该方法包括依据驱动程序执行应用程序作业程序;执行系统指令并取得代码地址;触发中断处理程序;依据中断处理程序检查基本输入输出系统版本是否兼容;确认基本输入输出系统版本兼容时,产生执行代码到代码地址;中断程序作业完成;以及应用程序依据执行代码继续作业。该方法避免软件保护技术面临的程序破解者反编译出被破解软件和动态跟踪破解软件的问题,从而提高软件保护作用。
文档编号G06F1/00GK1641513SQ200410001578
公开日2005年7月20日 申请日期2004年1月13日 优先权日2004年1月13日
发明者邱全成, 白昕 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1