一种软件保护的方法技术

技术编号:2919373 阅读:158 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种软件保护的方法,为每份需要保护的核心程序配置保护程序,且将核心程序转换成目标平台无法运行的格式,在使用核心程序时先启动保护程序,该方法还包括:步骤A,保护程序判断是否通过授权验证,如果通过则执行步骤B,否则中断当前处理流程;步骤B,保护程序将目标平台无法运行的核心程序恢复成目标平台可以运行的格式后启动核心程序。使用本发明专利技术所提供的技术方案,软件发行者只需从软件开发者获取软件的可执行程序即可保护软件,而无需获取软件的源代码。这样首先使得软件发行者和软件开发者可以并行的专注于各自所关注的内容;其次降低了对于软件发行者开发条件的要求,从而降低了软件发行的成本,缩短了软件发行的周期。

【技术实现步骤摘要】

本专利技术属于数字内容保护领域,特别涉及到利用闪存卡或优盘存储发行软件时的软件保护方法。
技术介绍
软件保护是软件发行时要考虑的重要因素,所谓软件保护是指软件使用者应该在得到授权以后才能正常使用软件。对软件进行保护能保证软件不被非法分发。和验证硬件相结合的软件保护方法由于其安全程度高,已经越来越普遍的应用到软件发行之中。这种方法通常为每套软件分配一个具有唯一标识号的验证硬件,在使用软件的时候,要求必须同时提供该验证硬件才能正常运行软件。也就是说,只有拥有与软件相对应的验证硬件才能得到使用授权,这样就保证了软件不能被非法分发。在现有技术中,为了让软件在执行过程中检测与之对应的验证硬件信息,需要在完成软件核心功能的功能代码中插入额外的保护代码,由保护代码去执行相关检测;同时,对功能代码做一定的修改,使功能代码在完成核心功能的过程中调用保护代码。由于防止软件被非法分发是软件发行者需要关注的问题,因此保护代码的开发和插入,以及配套验证硬件的设计是由软件发行者完成的。这就需要软件发行者在发行软件之前必须从软件开发者处得到软件的源代码。但是,随着软件发行者和软件开发者越来越独立,软件发行者通常无法得到软件的源代码。即使得到了软件的源代码,也需要完成功能代码修改、保护代码插入以及重新编译等工作。这个过程步骤繁多,会延长软件发行的周期;并且要求软件发行者具有几乎和软件开发者同样的开发条件,如此会增加软件发行的成本。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供,使软件发行者无需获取软件源代码即可对要发行的软件进行保护。为了达到上述目的,本专利技术提供了,为每份需要保护的核心程序配置对应的保护程序,且将核心程序转换成目标平台无法运行的格式,在使用核心程序时先启动保护程序,该方法还包括步骤A,保护程序判断是否通过授权验证,如果通过则执行步骤B,否则中断当前处理流程;步骤B,保护程序将目标平台无法运行的核心程序恢复成目标平台可以运行的格式后启动核心程序。其中,所述将核心程序转换成目标平台无法运行的格式为将核心程序加密;所述将软件可执行程序转换成目标平台可以运行的格式为将核心程序解密。其中,所述将核心程序加密为用相同的密钥对即将存储于不同存储介质中的核心程序加密。其中,所述将核心程序加密为为即将存储于不同存储介质中的核心程序分配各不相同的密钥,对每份核心程序用该份核心程序对应的密钥进行加密。其中,所述密钥与所述存储介质的硬件标识号相关。其中,所述存储介质为闪存卡或优盘。其中,进一步为每份核心程序配置对应的验证硬件,所述判断是否通过授权验证为根据基于验证硬件的授权验证流程,判断是否提供了正确的验证硬件,如果是则认为通过授权验证,否则认为未通过授权验证。其中,所述验证硬件为存储核心程序和保护程序的存储介质。其中,步骤B包括步骤B1,保护程序读取目标平台无法运行的核心程序;步骤B2,保护程序将目标平台无法运行的核心程序转换成目标平台可以运行的格式后存储在目标平台的易失性存储器;步骤B3,保护程序启动核心程序。其中,步骤B之后进一步包括保护程序终止自身的运行。采用本专利技术所提供的技术方案,在软件发行前是将软件的可执行程序转化成目标平台无法运行的格式,在软件使用时又是由保护程序将软件的可执行程序恢复为目标平台可以运行的格式,也就是说,只对软件的可执行程序进行了处理。由此可见,软件发行者只需从软件开发者获取软件的可执行程序即可对软件进行保护,而不需要获取软件的源代码。这样首先使得软件发行者和软件开发者可以并行的专注于各自所关注的内容,即软件开发者专注于软件核心功能的开发,而软件发行者专注于软件保护技术的开发;其次降低了对于软件发行者开发条件的要求,从而降低了软件发行的成本,缩短了软件发行的周期。附图说明图1是本专利技术提供的软件保护方法的实施例在软件发行时的处理流程。图2是本专利技术提供的软件保护方法的实施例在软件使用时的处理流程。具体实施例方式本专利技术的核心思想在于,软件发行者将欲保护软件的可执行程序转换成目标平台无法运行的格式后和配套验证硬件一同发行,在目标平台需要运行欲保护软件的可执行程序时先由另一个可执行程序进行授权验证,如果验证通过则将欲保护软件的可执行程序恢复成目标平台可以运行的格式,然后启动欲保护软件的可执行程序。在本专利技术中,欲保护软件的可执行程序称为核心程序,另一个可执行程序称为保护程序,核心程序和保护程序是一一对应的。为使本专利技术的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本专利技术作进一步地详细描述。请参考图1,图1是本专利技术提供的软件保护方法的实施例在软件发行时的处理流程。步骤101,将核心程序转换成目标平台无法运行的格式后存储在发行媒介上,并且把核心程序文件名更改为一临时文件名。将核心程序转换成目标平台无法运行的格式可以有很多种方法,例如将核心程序加密,或者将核心程序的数据做某种编码变换。这样,只有经过解密或者反变换才能在目标平台运行核心程序。特别的,如果采用加密的方法将核心程序转换成目标平台无法运行的格式,加密的时候可以采用两种方式一种方式是所有发行该软件的发行媒介上所存储的都是核心程序经过同一个密钥加密后的形式;另一种方式是每份发行该软件的发行媒介上所存储的是核心程序经过不同密钥加密后的形式。步骤102,将与核心程序对应的保护程序存储在发行媒介上,并且把保护程序文件名更改为核心程序原文件名。保护程序是能够在目标平台上运行的可执行程序,它的作用是在启动后进行授权验证,如果验证通过则将核心程序转换成目标平台可以运行的格式,并且执行核心程序。这里,如果采用的是基于验证硬件的授权验证技术,那么,所述进行授权验证指的是检测核对验证硬件信息,以判断使用者是否提供了正确的验证硬件,步骤103,将发行媒介和对应的验证硬件一起发行。发行媒介和配套验证硬件之间是一一对应的关系,每一份存储有软件和保护程序的发行媒介都有与之对应的配套验证硬件。特别的,如果是用闪存卡作为发行媒介,那么可以用同一个闪存卡作为配套验证硬件。因为每个闪存卡都有一个唯一的标识号,使用软件时保护程序可以根据这个标识号来判断软件使用者是否提供了正确的验证硬件。如果在步骤102中,每份发行该软件的发行媒介上所存储的是核心程序经过不同密钥加密后的形式,那么加密的时候采用的密钥可以与配套验证硬件的标识号相关。在步骤102中,如果所述授权验证采用的不是基于验证硬件的授权验证技术,那么就可以省略步骤103。请参考图2,图2是本专利技术提供的软件保护方法的实施例在软件使用时的处理流程。步骤201,在目标平台上运行保护程序。步骤202,保护程序检查配套验证硬件是否存在,如果存在则执行步骤203,否则执行步骤207。步骤203,保护程序读取配套验证硬件的标识号。步骤204,保护程序核对配套验证硬件的标识号,判断该配套验证硬件是否与存储核心程序和保护程序的发行媒介相匹配,如果匹配则执行步骤205,否则执行步骤207。步骤205,保护程序将核心程序转换成目标平台可以运行的格式后写入目标平台的易失性存储器内。在软件发行的时候,核心程序被转换成目标平台无法运行的格式后被存储于发行媒介。保护程序从发行媒介上将目标平台无法运行的核心程序读取并转换成目标平台可以运行的格式后,将目标平台可运行本文档来自技高网...

【技术保护点】
一种软件保护的方法,其特征在于,为每份需要保护的核心程序配置对应的保护程序,且将核心程序转换成目标平台无法运行的格式,在使用核心程序时先启动保护程序,该方法还包括:步骤A,保护程序判断是否通过授权验证,如果通过则执行步骤B,否则中断 当前处理流程;步骤B,保护程序将目标平台无法运行的核心程序恢复成目标平台可以运行的格式后启动核心程序。

【技术特征摘要】

【专利技术属性】
技术研发人员:李春华
申请(专利权)人:普天信息技术研究院
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1