一种控制软件保护装置中可执行文件执行的方法

文档序号:6440651阅读:186来源:国知局
专利名称:一种控制软件保护装置中可执行文件执行的方法
技术领域
本发明涉及计算机安全领域,特别涉及一种控制软件保护装置中可执行文件执行的方法。
背景技术
软件作为一种特殊的产品,由于其纯数字化的特征,从问世起就一直遭受盗版的困扰。盗版的存在不仅给软件开发者造成了巨大的损失,也极大阻碍了整个软件行业的发展。因此,几乎所有的软件都采取了相应的技术措施来避免软件遭受破解和盗版,其中最为有效的就是基于硬件的软件保护装置。软件保护装置是一种通过计算机硬件接口(诸如串口、并口、USB接口等多种接口)连接到计算机主机上的硬件设备。该设备内部具有非易失性存储空间可供读写,通常还具有单片机或者微处理控制芯片等计算处理单元。软件开发者可以通过接口函数和软件保护装置进行数据交换(即对软件保护装置进行读写),来检查软件保护装置是否插在接口上;或者直接用软件保护装置附带的工具进行加密。这样,软件开发者可以在软件中设置多处软件锁,利用软件保护装置作为钥匙来打开这些锁;如果没插软件保护装置或软件保护装置不对应,软件将不能正常执行。此外,软件保护装置内部包含特定的功能,例如一部分存储空间、一些密码算法或者一些使用者自定义的算法或者功能。在软件发行之前,软件开发者修改自己的软件代码,使得软件在运行过程中需要使用到软件保护装置内部的一些功能,这样软件离开软件保护装置之后就会无法运行,而软件保护装置作为一种硬件设备复制的难度较大,从而起到防止盗版软件非法传播的作用。当前市场上主要的软件保护装置包括:美国SafeNet公司的Sentinel Superpro>以色列Aladdin公司的Hasp HL、中国北京深思洛克数据保护中心的精锐IV、德国W1-Bu公司的WIBU-Key等。所有这些软件保护装置都提供了内置的存储空间、私有或公开的密码算法,当软件运行过程中可以调用这些功能来检验是否属于正版。其中北京深思洛克数据保护中心的精锐IV于2002年上市,其特点是采用了智能卡芯片作为硬件的基础,而且支持使用者将自己定义的功能写入到软件保护装置内部,甚至可以直接将软件的部分功能移植到软件保护装置内部完成,从而大大提高了软件被盗版的难度,通常称这种将自己定义的功能或者软件的部分功能移植到软件保护装置内部的技术为代码移植。北京深思洛克数据保护中心是本申请人的前身,现在对应网站为http://www.sense, com, cn/,其中详细公开了本申请人开发的精锐IV型软件保护装置的具体参数性能和工作原理。在软件版权保护领域,经常通过授权许可的方式对软件保护装置内的可执行文件的各种使用方式进行限制。关于软件保护装置内运行可执行文件这种技术的详细描述,请参考本申请人以前申请的申请号为200610064823.6的发明专利申请,这部分内部不在本发明中进行详细描述,而该申请全文引入本发明的说明书中以作为技术参考。具体而言,现有技术中例如通过限制所述可执行文件的使用次数、限制所述可执行文件的使用天数以及规定所述可执行文件使用的到期时间等,从而对软件保护装置内部的可执行文件进行特定方式的限制。其具体方式是在所述可执行文件运行之前,首先检查与其关联的授权文件来判定所述可执行文件是否可以运行。现有技术中通常的实现这种检查、判断的方式是:在软件保护装置内的可执行文件中添加验证授权的逻辑代码,从而验证关联的授权文件是否有效。但是这种方式必然会增加开发软件保护装置内可执行文件的复杂度,影响其工作效率,而且也容易出错,增加了软件正确运行的风险。更重要的是,如果需要对已发布的软件添加授权或更改授权条件,由于验证授权的逻辑已经存在于软件保护装置内的可执行文件中,所以就必须对所述可执行文件也进行更新,这样更进一步地增加了升级软件保护装置内部授权功能的工作量。此外,现有技术中也提及一种控制方法,从而控制一个设备中的可执行文件的执行。参见申请号为200810098164.7的发明专利申请,其发明名称为《控制用于IC卡的小应用程序运行的方法》。该技术中通过一个存储在IC卡的存储区中的平台识别号来简单判定在所述IC卡中运行的小应用程序是否可以执行,也就是说,能在该平台上运行的小应用程序都必须能被该平台所识别。但是,这种技术的判断情况比较单一,无法进行更加灵活和丰富的判断以满足不同的开发和应用需求。而且这种技术在可执行文件没有相关联的授权文件时不能运行的,无法根据实际情况自行决定在没有授权情况下是否可以执行,造成其使用范围受到了一定程度的限制。另外,这种技术的应用场景范围较窄,主要是应用在IC卡上,目的是防止其他人私自编写的不被识别的应用程序在所述平台上运行,以保护IC卡的合法使用。这种技术不能应用在软件保护装置中,软件开发者在使用软件保护装置对其软件产品进行保护时无法方便地对其中的可执行文件进行授权管理。此外,这种技术中的代码编写过程非常复杂,增加了代码编写的工作量、效率和成本。

发明内容
本发明的目的在于提供一种控制软件保护装置内可执行文件执行的方法,使得在开发所述软件保护装置内的可执行文件时只需考虑所述可执行文件本身的业务逻辑功能,而不必考虑添加验证授权和管理授权的逻辑代码。所述软件保护装置可以自动查找到所述可执行文件关联的授权文件并验证各授权项是否有效,并且在验证通过后由所述软件保护装置来修改所述授权文件的各授权项。另外,本发明应用在软件保护装置中,目的是为了方便软件开发者在使用所述软件保护装置对其软件产品进行保护时,对其中的可执行文件进行授权管理,扩大了软件保护装置的易用性。根据本发明的一个方面,一种控制软件保护装置内的可执行文件执行的方法,所述软件保护装置是用于软件保护的硬件设备,该方法包括如下步骤:步骤1:所述软件保护装置接收到受保护软件发出的运行可执行文件的命令时,检查所述软件保护装置中是否存在与所述可执行文件关联的授权文件;步骤2:如果存在与所述可执行文件相关联的授权文件,则检查所述授权文件并判断所述授权文件中的授权项是否符合预定条件,从而确定在是否在所述软件保护装置内执行所述软件保护装置中的可执行文件;步骤3:如果不存在与所述可执行文件相关联的授权文件,则根据预先确定的执行规则,确定在是否在所述软件保护装置内执行所述软件保护装置中的可执行文件。根据本发明方法的一个方面,在步骤I中,所述软件保护装置根据预定的关联对应关系,检查所述软件保护装置中是否存在与所述可执行文件相关联的授权文件。根据本发明方法的一个方面,在步骤2中,当所述授权项中的一个授权项符合预定条件时,执行所述软件保护装置内的所述可执行文件,或者当所述授权项中的多个授权项都符合预定条件时,执行所述软件保护装置内的所述可执行文件。根据本发明方法的一个方面,由所述软件保护装置的开发者或者使用者设定所述可执行文件与所述授权文件的关联方式。根据本发明方法的一个方面,所述可执行文件与所述授权文件的关联方式包括:自动关联所述可执行文件和所述授权文件,或者手动关联所述可执行文件和所述授权文件。根据本发明方法的一个方面,执行所述可执行文件之后,所述软件保护装置修改所述授权文件中的授权项的值,然后将修改后的所述授权项的值保存到所述授权文件中。。


图1是按照本发明一个实施例的在软件保护装置上的可执行文件和授权文件的一种关联方式示意图。图2是对比现有技术与本发明的流程示意图。图3是根据图1的关联方式来运行软件保护装置内的一个可执行文件时的流程图。图4是按照本发明另一个实施例的在软件保护装置上的可执行文件和授权文件的另一种关联方式示意图。图5是根据图4的关联方式来运行软件保护装置内的一个可执行文件时的流程图。
具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进行进一步详细说明。本发明是通过检查可执行文件的各项授权内容来判定是否可以执行,判断条件比现有技术更加灵活和丰富,而且在可执行文件没有相关联的授权文件时也不是一定不能运行的,可以根据实际情况自行决定在没有授权情况下是否可以执行,从而增加了可执行文件的执行灵活度。根据本发明的一个具体实施方式
,本发明中的软件保护装置为用于软件版权保护的硬件设备,从硬件结构角度而言,包括微控制器单元(Micro Control Unit,下称MCU)、存储器以及用于与计算机主机相连接的接口模块。根据本发明的一个具体实施方式
,所述的存储器与MCU相连接,用于保存的数据。所述存储器包括但不限于非易失性存储器、易失性存储器。根据本发明的一个具体实施方式
,所述的接口模块与MCU相连接,负责MCU与计算机主机之间的通信。所述的接口模块包括但不限于串行接口、并行接口、1394接口、射频识别(RFID)接口、无线局域网接口(IEEE802.11接口等)、通用串行总线(USB)接口、蓝牙接口、红外接口、无线保真(W1-Fi)接口、ISO 7816串行等。根据本发明的一个具体实施方式
,所述MCU、存储器、接口模块也可以集成到同一个芯片中,由单一的芯片提供所有的功能。根据本发明的一个具体实施方式
,软件保护装置内部的功能模块包括:通信模块、存储模块、文件系统、授权管理模块。作为一种实施例,软件保护装置中的这些模块都是通过软件代码实现的,类似于Windows操作系统运行在计算机硬件上一样,所述多个模块运行在软件保护装置的硬件芯片上。当然,本领域的技术人员根据本发明所揭示和教导的内容,完全能够采用其它的方式(包括但不限于硬件、固件、软件的形式)来实现这些模块以完成类似的功能,或者对这些模块进行更进一步的合并、拆分、组合以实现类似的功能。总之,在此仅描述本发明的核心思想和具体实施例,并不意味着本发明的实施以及要求保护的范围仅受具体实施例的限制。其中,通信模块,用于软件保护装置与计算机主机之间的通信。通信方式包括但不限于串行接口通信、并行接口通信、1394接口通信、射频识别(RFID)接口通信、无线局域网接口(IEEE802.11接口等)通信、通用串行总线(USB)接口通信、蓝牙接口通信、红外接口通信、无线保真(W1-Fi)接口通信、ISO 7816串行通信等。存储模块,用于存储使用者移植到软件保护装置内部的可执行代码,当+需要启动软件保护装置内部的使用者进程时,进程管理模块会到存储模块中找到对应的代码,然后执行。文件系统,用于存储和管理软件保护装置中的各种文件。授权管理模块,用于实现通过软件保护装置的硬件自动管理授权文件。该模块用于管理软件保护装置内的可执行文件和授权文件的关联方式、修改授权文件各授权项的值以及在没有关联的可执行文件和授权文件时控制是否运行软件保护装置内的可执行文件等操作。根据本发明的一个具体实施方式
,实现本发明的操作步骤包括:步骤A:软件保护装置通过其通信模块接收到受保护软件发出的运行可执行文件的命令时,首先由软件保护装置的授权管理模块检查所述可执行文件是否存在关联的授权文件。具体而言,软件保护装置内的可执行文件和授权文件是否关联是根据预先确定的关联规则进行判断的。作为一种示例,可以有两种方式进行判断:一种是由软件保护装置的开发者来定义所述关联规则。作为一种示例,例如通过文件名相同、扩展名不同的方式将可执行文件和授权文件相关联。如果采用这种关联方式,软件保护装置的开发者需要将这种关联规则以程序代码形式写入软件保护装置的授权管理模块。这样,每次在执行可执行文件时,都会通过这种固定的方式来检查是否存在与所执行的可执行文件相关联的授权文件。这种关联方式称为自动关联方式。所谓自动关联就是软件保护装置内的授权管理模块预先定义了一套可执行文件和授权文件相关联的规则,当需要杳找关联文件时软件保护装置按照这套预定义规则自动杳找可执行文件相关联的授权文件或者授权文件相关联的可执行文件。在下载一对关联文件时也需要按照这种规则约定这两个文件,比如规则为文件名相同,扩展名不同的两个文件相关联,那么下载到软件保护装置内的两个文件名相同扩展名不同的可执行文件和授权文件便可以自动关联上了。另一种是由使用者指定软件保护装置内的某个可执行文件和某个授权文件相关联。作为一种示例,这种关联的实现方式是在软件保护装置的授权管理模块内维护一个关联表,记录使用者指定的可执行文件和授权文件的关联对,而在使用者使用时则可以提供若干个操作关联表的应用程序接口函数(API函数)。通过这些函数在所述关联表上添加、删除、查询和修改关联记录。这样,在运行可执行文件之前,由软件保护装置的授权管理模块来检查待运行的可执行文件是否在关联表内存在与其相对应的授权文件。这种关联方式称为手动关联方式。所谓手动关联是指软件保护装置内的可执行文件和授权文件是否关联是由软件保护装置的用户来定义,可以通过API提供的接口或其他方式告诉软件保护装置哪些文件是关联的,软件保护装置就可以记录下这些关联的文件,将来杳找相关联的文件时只需要杳找关联记录即可。作为一种示例,步骤A中所述检查流程为:软件保护装置接收到运行可执行文件的命令时,首先通过授权管理模块检查待运行的可执行文件是否存在关联的授权文件;如果存在关联的授权文件,则开始检查此授权文件;如果不存在关联的授权文件,则直接开始执行可执行文件或者不执行。其中当不存在关联的授权文件时,是否执行可执行文件也可由软件保护装置的开发者预先确定。当不存在关联的授权文件时执行可执行文件,意味着不强制要求所有的可执行文件都具有与之相关联的授权文件对其进行限制。当不存在关联的授权文件时不执行可执行文件,则意味所有可执行文件都强制要求具有与之相关联的授权文件。作为一种具体实施方式
,这种预先确定的规则是需要以程序代码形式写入软件保护装置的授权管理模块中。一旦写入后,软件保护装置的使用者不能修改这种预先确定的规则。当然为了灵活起见,作为另一种具体实施方式
,将由开发者规定的关联规则和使用者规定的关联规则都写入授权管理模块,以应用程序接口(API)的形式为使用者留出一个可供选择的应用程序接口,以便使用者能够指定采用何种预先确定的关联规则。步骤B:如果不存在与所述可执行文件相关联的授权文件,则根据上述预先定义的规则,确定是否在软件保护装置内执行或不执行所述软件保护装置内的可执行文件;步骤C:如果存在与所述可执行文件相关联的授权文件,则开始检查授权文件。举例而言,授权文件是存储对软件保护装置内其他文件的使用权限的授权的文件,一般以TLV(Tag-Length-Value)结构存储,T代表后续VALUE的意义,L指明VALUE的长度,VALUE是真正的数据。和其他文件一样,授权文件也存放在软件保护装置的文件系统中。而授权项是授权文件内具体的授权内容,采用TLV格式表示,例如限制使用次数的授权项可以表示为0x00 0x04 0x00 OxFF 0x00 0x00 0x00,第一个字节0x00是使用次数的标志,第二个字0x04 0x00是表示后续Value的长度为4,最后4个字节OxFF 0x000x00 0x00表示可用的次数为OxFF即255次。然后判断各授权项是否满足条件,即,授权文件的各个授权项是否都是合法的。例如可用次数的授权项为255,而授权文件中记录的已用次数小于255则认为该授权项是满足条件的,否则不满足条件。并根据检查结果,决定是否执行所述可执行文件。根据本发明的一个具体实施方式
,步骤A中检查软件保护装置内可执行文件相关联的授权文件是否存在,其关联方式可以有多种选择,例如通过匹配文件名或文件的其他属性来自动关联所述可执行文件和所述授权文件,或者通过人工手动指定的方式来指定一对可执行文件和授权文件相关联。其中所述文件的其他属性还包括文件的大小、类型、修改时间等。根据本发明的一个具体实施方式
,步骤B中如果检查到所述可执行文件不存在与之相关联的授权文件,则根据预先定义的规则来决定是否予以执行。其中,预先定义的规则包括:如果没有关联的授权文件,则软件保护装置内的可执行文件直接开始执行,即不强制要求所述可执行文件必须有关联的授权文件才允许在软件保护装置上执行;如果没有关联的授权文件,则软件保护装置内的可执行文件不予以执行,即强制要求所述可执行文件必须有关联的授权文件才允许在软件保护装置上运行。根据本发明的一个具体实施方式
,步骤C中对于检查授权项的结果,是所有授权项必须都满足条件才执行软件保护装置内的可执行文件,或者只要满足一项授权项的条件即可执行软件保护装置内的可执行文件。下面结合具体实施例,对本发明的技术内容进一步阐述。对于本领域的技术人员而言,本实施例仅是为了说明本发明的应用简化实施例。本领域的技术人员很明显知道,实际的应用过程可能比这个例子复杂得多,但是其并未脱离本发明的具体思想。此外,所述软件保护装置中存在文件系统,其中的文件系统用于存放可执行文件、授权文件、数据文件、密钥文件等多种文件,并且支持多级目录结构。软件保护装置在接受到主机的执行文件命令时,在软件保护装置内部运行可执行文件,并且将运行结果发送到主机。关于软件保护装置的结构和工作原理请参考本申请人之前的中国发明专利申请200610064823.6。实施例1根据本发明的一个具体实施方式
,参考图1,由于软件保护装置的文件系统支持多级目录,所以在本实施例中,可执行文件存放在软件保护装置的文件系统中exe目录下,而授权文件存放在license目录下。当运行软件保护装置的文件系统中exe目录下的可执行文件test时,在软件保护装置的文件系统中license目录下根据是否存在相同的文件名“test”,查找license目录下是否存在与可执行文件test其关联的授权文件test。软件保护装置中的文件系统及其中可执行文件与授权文件相互关联的情况如图1所示。实施例1中采用的关联方式为上述两种方式的第一种,即自动关联。关联规则是由软件保护装置的开发者在生产软件保护装置时以程序代码形式写入所述软件保护装置的授权管理模块中。很明显,exe目录和license目录这两个目录既可以由软件保护装置的开发者建立也可以由使用者建立。关联的规则已经在所述软件保护装置的授权管理模块中预先定义过了,即,仅在运行exe目录中的可执行文件时自动查找license目录下的同名授权文件与其关联。也就是说,该方式下通过在两个目录中查找相同文件名的文件的方式来确定两者之间的关联关系。根据本发明的一个具体实施方式
,在本实施例中,授权文件包含三个授权项:使用次数、使用天数和到期时间。分别约束与其关联的可执行文件可以使用的次数、天数和到期时间。另外,授权文件test中还包含两个授权项:已用次数和已用天数,分别记录与其关联的可执行文件已经使用的天数和次数。图3是根据本发明所述方法来运行软件保护装置内的一个可执行文件test时的流程图。如图3所示,软件保护装置执行软件保护装置文件系统中exe目录下的可执行文件test时的步骤如下:步骤201:软件保护装置接收到由受保护软件发出的运行可执行文件test的命令,开始查找软件保护装置的文件系统中license目录下的授权文件test,并进入步骤202 ;步骤202:判断license目录下是否存在授权文件test。如果软件保护装置中的授权管理模块通过调用软件保护装置中的文件系统从而判断出所述license目录下不存在授权文件test,则直接跳转到步骤208,开始执行所述exe目录中的可执行文件test ;否则,如果license目录中存在授权文件test,则进行下一步检查授权项;否则直接开始运行装置内的可执行文件。具体而言,在存在授权文件test时,则由软件保护装置中的授权管理模块开始检查授权文件test的各授权项。根据本发明的一个实施方式,检查的逻辑代码是由软件保护装置的开发者写入软件保护装置的授权管理模块中。这些检查的逻辑代码比如是检查可用次数授权项,其实现是通过比较已用次数授权项是否小于可用次数授权项来判断此项是否合法。如果授权项都是满足条件的,则开始运行软件保护装置内的可执行文件;否则不予执行,进入步骤203。步骤203:检查授权文件test中所包含的三个授权项:使用次数、使用天数和到期时间,分别约束与其关联的可执行文件可以使用的次数、天数和到期时间。并且检查授权文件test中还包含的两个授权项:已用次数和已用天数,分别记录与其关联的可执行文件已经使用的天数和次数。当检查使用次数时,进入步骤204;当检查使用天数时,进入步骤205 ;当检查到期时间时,进入步骤206。步骤204,通过软件保护装置的授权管理模块检查可执行文件test的已用次数是否小于授权文件test的使用次数授权项的值。其具体方式是通过读取授权文件的内容获取各授权项的值,而各授权项的格式为TLV格式。注意,无需比较全部不同的授权项,而只针对对应的授权项进行比较。例如可用次数和已用次数比较,可用天数和已用天数比较等。如果所有的授权项都是合法的,则允许运行软件保护装置内的可执行文件,否则不允许执行软件保护装置内的可执行文件。即,根据示例,如果可执行文件test的已用次数小于授权文件test的使用次数授权项的值,则进入步骤205,检查使用天数;否则,进入步骤209。步骤205:按照类似的方式,检查可执行文件test的已用天数是否小于授权文件test的使用天数授权项的值,如果可执行文件test的已用天数小于授权文件test的使用天数授权项的值,则进入步骤206检查到期时间;否则,进入步骤209。步骤206:按照类似的方式,检查授权文件test的到期时间授权项的值是否小于当前时间。具体而言,到期时间的授权项的值应该和软件保护装置的系统当前时间比较,而不是与授权文件中的其他授权项进行比较。关于如何获取系统当前时间则属于现有技术,无需赘述。如果检查出授权文件test的到期时间授权项的值小于当前时间,则进入步骤207修改各授权项的值;否则进入步骤209。步骤207:软件保护装置的授权管理模块修改授权文件test的已用次数和已用天数授权项的值,然后将其保存到授权文件中。即,修改授权文件的内容然后通过软件保护装置的文件系统将修改后的新内容重新写入授权文件,然后进入步骤208。步骤208:运行可执行文件test。步骤209:退出。实施例2区别于实施例1,实施例2在软件保护装置内的可执行文件和授权文件的关联方式上采用预先设定的关联,并且在运行软件保护装置内的可执行文件时检查不到关联的授权文件的情况下不予执行,即强制每个可执行文件都必须有相应的授权文件。实施例2中采用的关联方式为上述两种方式的第二种,即手动关联。如图4所示,软件保护装置内的授权管理模块中维护着一张关联表,记录着软件保护装置内的可执行文件和授权文件的关联对,例如可执行文件Test与授权文件Lic之间的关联。软件保护装置的文件系统内则保存有可执行文件Test和授权文件Lie。这种关联关系是手动设定的。图5是所述软件保护装置在运行可执行文件Test时的流程图,其步骤如下所述:步骤401:软件保护装置接受到计算机主机发送过来的运行可执行文件Test的命令。首先由软件保护装置中的授权管理模块来处理此命令,然后跳转到步骤402 ;步骤402:所述授权管理模块检查其维护的关联表,判断是否存在与可执行文件Test相关联的授权文件。如果不存在与Test相关联的授权文件,则跳转到步骤409退出,即不执行可执行文件Test ;如果存在,与Test相关联的授权文件,则跳转到步骤403,开始检查与可执行文件Test关联的授权文件的各授权项;步骤403:读取授权文件Lie,开始检查各授权项;步骤404:检查使用次数是否有效,S卩,使用次数是否大于已用次数,大于则为有效,否则为无效。如果此项检查通过则跳转到步骤405开始检查下一项,否则跳转到步骤409退出,即不执行Test ;步骤405:检查使用天数是否有效,即使用天数是否大于已用天数,大于则为有效,否则为无效。如果此项检查通过则跳转到步骤406开始检查下一项,否则跳转到步骤409退出,即不执行Test ;步骤406:检查到期时间是否有效,即到期时间是否大于软件保护装置的系统当前时间,大于则为有效,否则为无效。如果此项检查通过则跳转到步骤407修改各授权项的值,否则跳转到步骤409退出,即不执行Test ;步骤407:修改授权文件Lic的已用次数、已用天数授权项的值,跳转到步骤408开始执行Test ;步骤408:执行 Test ;步骤409:退出,即不执行Test。上述多种情况的变形是本领域的技术人员很容易想到的,因此上述举例仅仅是示意性说明,而无法涵盖软件保护领域的各种情况。本发明的核心构思是软件保护装置通过判断软件保护装置中可执行文件与授权文件之间的关联来实现现有技术中无法实现的可执行文件的灵活应用。在此基础之上,其它各种调用顺序、处理顺序的变形、各种可进行设置的关联规则及各种执行规则均是很容易想到的,无需在本发明的说明书中进行穷尽式的描写。以上所述包括有本发明的例子。当然,为了描述本发明的目的,描述每个可以想见的组件或方法的组合是不现实的,但是,本领域的技术人员会认识到,许多进一步的组合和轮换对本发明来说是可能的。因此,本发明旨在包含所有这样的落在所附权利要求书的精神和范围之内的变更、改进和变化。此外,以本说明书和权利要求书为限,术语“具有”类似于术语“包括”。
权利要求
1.一种控制软件保护装置内的可执行文件执行的方法,所述软件保护装置是用于软件保护的硬件设备,其特征在于, 该方法包括如下步骤: 步骤1:所述软件保护装置接收到受保护软件发出的运行可执行文件的命令时,检查所述软件保护装置中是否存在与所述可执行文件关联的授权文件; 步骤2:如果存在与所述可执行文件相关联的授权文件,则检查所述授权文件并判断所述授权文件中的授权项是否符合预定条件,从而确定在是否在所述软件保护装置内执行所述软件保护装置中的可执行文件; 步骤3:如果不存在与所述可执行文件相关联的授权文件,则根据预先确定的执行规贝U,确定在是否在所述软件保护装置内执行所述软件保护装置中的可执行文件。
2.根据权利要求1的控制软件保护装置内的可执行文件执行的方法,其特征在于,在步骤I中, 所述软件保护装置根据预定的关联对应关系,检查所述软件保护装置中是否存在与所述可执行文件相关联的授权文件。
3.根据权利要求1-2的控制软件保护装置内的可执行文件执行的方法,其特征在于,在步骤2中, 当所述授权项中的一个授权项符合预定条件时,执行所述软件保护装置内的所述可执行文件,或者 当所述授权项中的多个授权项都符合预定条件时,执行所述软件保护装置内的所述可执行文件。
4.根据权利要求1-3的控制软件保护装置内的可执行文件执行的方法,其特征在于,由所述软件保护装置的开发者或者使用者设定所述可执行文件与所述授权文件的关联方式。
5.根据权利要求1-4的控制软件保护装置内的可执行文件执行的方法,其特征在于,所述可执行文件与所述授权文件的关联方式包括:自动关联所述可执行文件和所述授权文件,或者手动关联所述可执行文件和所述授权文件。
6.根据权利要求1-5的控制软件保护装置内的可执行文件执行的方法,其特征在于,执行所述可执行文件之后,所述软件保护装置修改所述授权文件中的授权项的值,然后将修改后的所述授权项的值保存到所述授权文件中。
全文摘要
本发明涉及一种控制软件保护装置内可执行文件执行的方法。软件保护装置内的可执行文件执行前由所述软件保护装置自动检查与所述可执行文件关联的授权文件并根据检查结果决定所述可执行文件是否可以执行。这样在编写需要授权限制的可执行文件时只需考虑业务逻辑代码部分而不用再添加验证授权和管理授权的逻辑代码,提高了软件保护装置的易用性。
文档编号G06F21/12GK103164640SQ20111040776
公开日2013年6月19日 申请日期2011年12月8日 优先权日2011年12月8日
发明者孙吉平, 韩勇 申请人:北京深思洛克软件技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1