《用软件程序的合法拷贝替换非法拷贝的方法及相应系统.pdf》由会员分享,可在线阅读,更多相关《用软件程序的合法拷贝替换非法拷贝的方法及相应系统.pdf(11页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102346826A43申请公布日20120208CN102346826ACN102346826A21申请号201110213014822申请日2011072610007753620100726EPG06F21/0020060171申请人索尼达德克奥地利股份公司地址奥地利安尼弗72发明人托马斯高博74专利代理机构北京东方亿思知识产权代理有限责任公司11258代理人宋鹤54发明名称用软件程序的合法拷贝替换非法拷贝的方法及相应系统57摘要本发明提供了用软件程序的合法拷贝替换非法拷贝的方法及相应系统。一种用软件程序的合法拷贝替换非法拷贝的方法,包括确定在计算机上运行的第一软件程序的。
2、元数据;如果所述元数据不与所述软件程序的合法拷贝的元数据相对应,则从第一服务器向所述计算机发送补丁;通过用所述补丁替换所述第一软件程序的至少一部分来生成第二软件程序;利用所述补丁的代码成分来显示图形用户界面,并且向用户索取认证令牌;从第二服务器获得所述认证令牌;验证所述认证令牌;并且如果所述认证令牌被验证没有问题,则将所述第二软件程序标记为合法拷贝。另外,相应的系统也被提供。30优先权数据51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书5页附图3页CN102346846A1/2页21一种用软件程序的合法拷贝替换非法拷贝的方法,包括从第一软件程序的特性确定元数据。
3、,所述第一软件程序被存储在一计算机的存储介质上;如果所述元数据不与所述软件程序的合法拷贝的元数据相对应,则从第一服务器向所述计算机发送补丁;通过用所述补丁的代码成分替换所述第一软件程序的至少一部分来生成第二软件程序;在所述第二软件程序启动时显示图形用户界面;请求认证令牌;从第二服务器获得所述认证令牌;验证所述认证令牌;并且如果所述认证令牌被验证没有问题,则将所述第二软件程序标记为合法拷贝。2根据权利要求1所述的替换非法拷贝的方法,还包括将所述元数据发送到所述第一服务器;并且将所述元数据与所述第一服务器中的所述合法拷贝的元数据进行比较。3根据权利要求2所述的替换非法拷贝的方法,还包括将所述元数据。
4、与所述第一服务器中一个或多个已知的非法拷贝的元数据进行比较。4根据权利要求1所述的替换非法拷贝的方法,还包括将所述元数据与所述计算机中的所述合法拷贝的元数据进行比较。5根据权利要求1所述的替换非法拷贝的方法,其中,所述补丁包括第一补丁成分,该第一补丁成分用于替换非法拷贝中的至少一部分,这部分导致了所述元数据不与所述合法拷贝中的元数据相对应;以及第二补丁成分,该第二补丁成分提供所述图形用户界面。6根据权利要求1所述的替换非法拷贝的方法,其中,所述软件程序的非法拷贝包括表示所述图形用户界面的代码成分,所述方法还包括当所述软件程序被起动时,利用所述补丁的代码成分激活所述图形用户界面。7根据权利要求1。
5、所述的替换非法拷贝的方法,其中,所述元数据是通过所述软件程序的非法拷贝确定的。8根据权利要求1所述的替换非法拷贝的方法,其中,所述元数据是通过第三软件程序确定的。9根据权利要求1所述的替换非法拷贝的方法,还包括如果所述元数据不与所述软件程序的合法拷贝的元数据相对应,则请求是否应当下载所述第一软件程序的更新;并且如果已经接受下载所述更新,则从所述第一服务器向所述计算机发送所述补丁,并且执行生成所述第二软件程序的步骤。10根据权利要求1所述的替换非法拷贝的方法,其中,所述元数据是所述第一软件程序的可执行文件的哈希数据。11根据权利要求1所述的替换非法拷贝的方法,其中,所述图形用户界面在所述软件程序。
6、已经被使用了一段预定时间之后才被显示。权利要求书CN102346826ACN102346846A2/2页312根据权利要求1所述的替换非法拷贝的方法,还包括在运行所述非法拷贝的同时存储已经获得的用户数据;以及当运行所述合法拷贝时允许使用所述用户数据。13一种用软件程序的合法拷贝替换非法拷贝的系统,包括补丁,该补丁包括代码成分,该补丁适用于替换在一计算机上的所述软件程序的非法拷贝的至少一部分并且适用于激活图形用户界面在所述计算机上的显示;第一服务器,该第一服务器适用于在从存储在所述计算机上的第一软件程序的特性确定出的元数据被识别为不与所述软件程序的合法拷贝的元数据相对应之后,向所述计算机发送所述。
7、补丁;以及第二服务器,该第二服务器适用于在从所述计算机接收到对于认证令牌的请求时向所述计算机发送所述认证令牌,所述请求是通过所述图形用户界面发起的。14根据权利要求13所述的用软件程序的合法拷贝替换非法拷贝的系统,其中,所述第一服务器还适用于将所述第一软件程序的元数据与所述合法拷贝的元数据进行比较。15一种存储在非暂时介质上的软件补丁,该软件补丁包括代码成分,所述软件补丁适用于替换在一计算机上的一软件程序的非法拷贝的至少一部分;在从存储在所述计算机上的第一软件程序的特性确定出的元数据不与所述软件程序的合法版本的元数据相对应之后,当所述软件补丁被存储在所述计算机上并被启动时,激活图形用户界面在所。
8、述计算机上的显示;请求认证令牌;从服务器获得所述认证令牌;验证所述认证令牌;并且如果所述认证令牌被验证没有问题,则将所述第二软件程序标记为合法拷贝。权利要求书CN102346826ACN102346846A1/5页4用软件程序的合法拷贝替换非法拷贝的方法及相应系统技术领域0001本发明涉及用软件程序的合法拷贝替换非法拷贝的方法、相应系统以及存储在非暂时介质上的软件补丁PATCH。背景技术0002软件程序的非法拷贝的使用不仅侵犯版权,而且严重影响到软件生产商和软件开发商,因为他们将会因他们的知识产权被非授权分发而失去很多利益。因此,已经开发出多种技术,这些技术识别软件程序的非法拷贝并且然后禁止软。
9、件程序的某些特性,例如,更新功能或者在线播放,或者防止对软件程序的全部使用。然而,对于这些已知的技术,仅能够阻止软件程序的非法拷贝的用户使用此非法拷贝,或者至少降低了软件程序的可用性。发明内容0003因此,需要提供一种将软件程序的非法拷贝的用户改变成软件程序的合法拷贝的用户的方法和系统。0004此目的通过根据权利要求1的用软件程序的合法拷贝替换非法拷贝的方法、根据权利要求13的相应的系统以及根据权利要求15的软件补丁来达成。0005其他的实施例被定义在从属权利要求中。0006本发明的进一步的细节将通过考虑附图以及随后的描述而变得很明显。附图说明0007图1示出本发明的一实施例的示意性步骤;00。
10、08图2示出根据本发明的一实施例的系统的示意性框图;0009图3示出根据本发明的又一实施例的系统的示意性框图;以及0010图4示出本发明的另一实施例的示意性框图。具体实施方式0011下面描述本发明的实施例。重要地,注意,下面所描述的所有实施例及其他们的特性和技术特征可以任意方式组合,即,不存在这样的限制某些所描述的实施例、特性和技术特征不能与其他的组合。0012在图1中,示出了根据本发明的一实施例的方法步骤,此方法步骤在结合图2中所示的系统的实施例描述时可能会更容易理解。0013在步骤S100中,从存储在一计算机202的存储介质上的第一软件程序200的特性确定出元数据,例如通过元数据确定单元2。
11、04来确定。元数据可以通过确定第一软件程序200文件的哈希值或者例如考虑该软件程序的版本号或第一软件程序的建立时间戳、语言、数字签名而被确定。术语“计算机”也指包括微处理器的设备,例如,可以分发软件程序的非法拷贝的控制台、手持设备、蜂窝电话或个人计算机。存储介质可以是本地驱动器、网络说明书CN102346826ACN102346846A2/5页5驱动器、磁盘或存储器驱动器。0014哈希功能是任意的定义完好的过程或者数学函数,其将大小可能改变的大量数据转换成小数据,通常为单精度整数SINGLEINTEGER。哈希函数返回的值被称为哈希值、哈希代码、哈希和、检验和,或简单地称为哈希。此函数可在软件。
12、程序200中被执行以计算来自软件程序200的主要的可执行或者任何其他的一个或多个文件的哈希值。0015所使用的元数据应当反映当软件程序的非法拷贝被制作时该软件程序发生了改变的特征。例如,当非法拷贝被生成时,软件程序的版权保护部分可能被移除,从而使得非法软件程序可被自由分发。版权保护部分可以是版权保护或数字权利管理模块、封套或层。除此之外,软件程序的非法拷贝通常使得文件被移除或被压缩,使得数字签名被移除或者另外添加了文件。0016例如,对于各个软件程序,版权保护部分可包括个别的客户项目应用CUSTOMERPROJECTAPPLICATION,CPA号。为了识别用于不同领域或语言的软件程序的不同版。
13、本,还可以使用交易号。在本发明的一些实施例中,当版权保护仍存在时,即当软件程序的合法拷贝或版本被使用时,通过利用应用编程接口API,CPA和交易号二者都可用。然而,当版权保护被去除了时,相应的API将返回不同的号或根本不返还值。因此,CPI连同交易号一起可用作区分非法拷贝和合法拷贝的元数据。0017例如,软件程序与影片介绍一起以无损视频格式被存储,通常对于软件程序的非法拷贝,这样的视频文件利用允许更高压缩的视频格式被重新编码以减小软件程序的大小从而以便更容易地在线分发。这样的多媒体文件即,电影、音频、纹理的大小以及改变后的哈希值可被用作区分软件程序的合法拷贝和非法拷贝的元数据。0018例如,软。
14、件程序与类似自述文本文件等的文件一起。通常,对于软件程序的非法拷贝,这样的文件被全部移除,但是添加了其他文件。软件程序的安装文件夹中的这些文件结构的改变也可被考虑作为元数据。0019例如,软件库和软件程序的可执行部分即,DLL文件嵌入了称为资源的数据,这些资源是只读的并且通常在软件程序编译期间被设置。每个资源有类型和名称,类型和名称可以是数字标识符或串。对于软件程序的非法拷贝,这些值通常会被改变。软件程序的资源的值也可被考虑作为元数据。0020例如,软件库和软件程序的可执行部分即,DLL文件可以是被数字签名的。此签名是由软件程序的开发者或发布者施加的。签名是用于证明数字消息或文档的真实性的数学。
15、图示。有效的数字签名给出了相信此消息或内容是由知道的发送方创建的并且其在转送中未被改变的接受理由。签名可相比于图章,并且对于软件程序的非法拷贝,如果软件库或软件程序的可执行部分被改变了,则签名将被破坏。这样的签名的存在性和完整性也可被考虑作为元数据。0021软件程序可以是软件应用,例如类似字处理程序、表单计算程序或者游戏应用。元数据确定单元204可以是单独的单元,或者可以被包括在第一软件程序200中。0022还可以由第三方软件应用206来确定第一软件程序200的元数据,第三方软件应用206例如是游戏平台、抗病毒软件或者操作系统软件或软件库。0023在步骤S102,检查所确定的第一软件程序200。
16、的元数据是否与合法拷贝的元数据相对应,例如,是否等同于合法拷贝的元数据。合法拷贝的元数据可被存储在第一短剑程序说明书CN102346826ACN102346846A3/5页6200中,或者可被提供作为存储在本地或远程数据表中的服务。例如,合法拷贝的元数据可被存储在第一服务器208中,其中确定出的第一软件程序200的元数据将被发送给第一服务器208。0024如果从第一软件程序200的特性确定出的元数据不与合法宝贝的元数据相对应,则在步骤S104中,补丁或软件补丁214被发送给计算机202。术语补丁或软件补丁214用于描述用于更新计算机程序或其支持数据的软件片段。例如,补丁可包含更新后的合法的可执。
17、行部分、软件库和数据文件。0025补丁214包括第一补丁成分216和第二补丁成分218。第一补丁成分216用于用合法的软件成分242来替换非法拷贝的至少一部分,并且第二补丁成分218例如提供图形用户界面244GUI,类似于用于向软件程序的用户提交信息的认证对话、认证电子邮件、短消息服务SMS或多媒体消息服务MMS。0026补丁214可被配置为是档案文件。然后,此档案文件必须被解包到软件在计算机使用的可写介质例如,硬盘、存储棒、U盘上的安装目录中,并且用合法拷贝的真实文件来覆写非法拷贝的文件。如参考下面第一到第四种情形更加详细描述的,补丁的解包和执行包括覆写这种文件可以自动由第一软件程序200或。
18、者由第三方软件程序206执行。0027在第一种情形中,第一软件程序200例如从WEB服务器、本地驱动器、网络驱动器、盘片或存储器驱动器下载补丁214,并且将其存储在计算机202上,其中,补丁214被配置为是设置/安装器程序。之后,第一软件程序200执行补丁214,例如,利用窗口API应用程序接口SHELLEXECUTE。在被执行时,补丁214将文件拷贝并且可以是覆写到软件程序安装目录,并且生成包括合法的软件成分242的第二软件程序240。0028在第二种情形中,第一软件程序200例如从WEB服务器、本地驱动器、网络驱动器、盘片或存储器驱动器下载补丁214,并且将其存储在计算机202上,其中,补。
19、丁214被配置为是档案文件。之后,第一软件程序200从档案文件提取例如解压文件到第一软件程序安装目录并且可能覆写现有的文件,并且生成包括合法的软件成分242的第二软件程序240。0029在第三和第四种情形中,补丁经由第三方软件程序206例如从WEB服务器、本地驱动器、网络驱动器、盘片或存储器驱动器下载并且被存储在计算机202上。0030在第三种情形中,补丁214被配置为是设置/安装器程序,并且在被存储在计算机202上之后,该补丁214由第三方软件程序206执行,例如利用窗口API应用程序接口SHELLEXECUTE。在被执行时,补丁214将文件拷贝并且可以是覆写到第一软件程序安装目录,并且生成。
20、包括合法的软件成分242的第二软件程序240。0031在第三种情形中,补丁214被配置为是档案文件,并且在被存储在计算机202上之后,该补丁214由第三方软件程序206提取解压到第一软件程序安装目录并且可能覆写现有的文件,并且生成包括合法的软件成分242的第二软件程序240。0032从而,通过向第一软件程序200应用补丁214生成了第二软件程序240。0033还可以是在在计算机202上检测到非法拷贝之后,有关用于该软件程序的更新的信息被发送到计算机202并且被显示给用户。如果用户请求下载和安装更新,则补丁214被递送给用户并且自动被安装或者在用户确认后被安装。0034在替换非法拷贝的至少一部分。
21、时对第一补丁成分216的使用使得二软件程序240说明书CN102346826ACN102346846A4/5页7具有合法拷贝的相应元数据。另外,图形用户界面244被提供。图形用户界面244例如可以示出提供用于测试软件程序的合法拷贝的试验时段的对话,并且提供了获得即,购买认证令牌即,序列号的可能性。利用此特征的软件程序也被称为“先试后买”软件。在S108中,图形用户界面244被显示并且用户被索取认证令牌。如果没有正确的认证令牌输入,则二软件程序240不能被使用。0035图形用户界面244的显示可不紧在第二软件程序240生成之后就被起动,而是仅在已经经过了预定的时间量例如,合法拷贝的使用时间之后才。
22、被显示。从而,用户将更有可能会习惯该软件,并且因此,用户有兴趣为进一步使用软件而付费。0036通过将图形用户界面244显示给用户,用户可以被告知他可以购买软件程序的合法拷贝,或者如果他已经拥有了对于各软件程序的合法认证令牌则可以解锁该软件程序。第二补丁成分218例如可示出到在线店铺的链接,或者可描述获得合法认证令牌的任何其他途径。0037在S110,用户可从第二服务器220获得认证令牌。之后,在步骤S112中,此认证令牌被验证。认证令牌可以是序列号、字母数字密钥、对于用户帐户的购买限制、许可文件或者类似认证码。0038如果认证令牌被验证没有问题,则在S114中第二软件程序240被标记为软件程序。
23、的合法拷贝。验证可以由第三服务器222或者第二软件程序240中实现的验证软件成分来执行。标记可包括确保第二软件程序240的元数据与合法拷贝的元数据相对应。标记还可包括基于肯定验证的附加信息。0039在根据图2的系统的实施例中,为了将补丁214发送给计算机202,第一服务器208包括单独的档案文件212的地址,例如URL/URI统一资源定位符/统一资源标识符,例如服务器或本地程序适用于通过此地址向计算机202发送补丁214即,从服务器下载,或者从软件程序安装设备例如DVD拷贝。0040根据另一实施例,在图3中所示,软件程序的非法拷贝300包括档案文件302,档案文件302适用于提供包括第一补丁成。
24、分216和第二补丁成分218的补丁214。档案文件302可通过提供到存储在第一服务器208中的数据的各地址例如URL/URI320而被参考。根据在图3中所示的实施例,认证令牌也从第二服务器220获得并且之后被验证。0041利用此实施例,较少的数据需要从远程服务器被发送到计算机202,因为不必要发送全部补丁214给计算机202,因为非法拷贝300中已经存在补丁了。因此,下载时间被缩短,并且软件程序的发布者和在线零售商可减少保存档案文件和用于下载的成本或者不付出成本。0042然而,根据在图4中示出的又一个实施例,还可以是第一服务器208包括认证令牌提供单元400,认证令牌提供单元400可被计算机2。
25、02的第二软件程序240寻址并且认证令牌提供单元400可提供对于该第二软件程序240的认证令牌。0043利用所提出的方法和系统,能够执行下面的实施例。0044在一个实施例中,游戏应用的原始版本被安装到计算机202的硬盘驱动器。用户可能下载非法的破解的或者盗印的一个或多个可执行文件、库和其他文件并且用非法的拷贝替换了原始的真实的文件。该动作可以避开针对个人计算机游戏的原始版本的保护方案。在两小时的游戏玩打之后,该游戏应用启动软件成分204,软件成分204计算该说明书CN102346826ACN102346846A5/5页8游戏应用包括非法的可执行部分的元数据并且将其发送给服务器208,服务器20。
26、8将正运行的游戏应用辨认为是“破解的”版本,即非法拷贝。软件成分204停止实际游戏应用并且用位于游戏应用的安装文件夹中的真实拷贝来替换此非法拷贝,并且添加动态链接库DLL,动态链接库在当下次起动游戏应用时通过GUI示出一对话,此对话指示出从哪里获得用于游戏应用的认证令牌例如序列号,并且动态链接库也执行在线激活在远程服务器上对序列号或者字母数字密钥的认证,此认证可通过利用客户端个人计算机和传送基于XML的请求和响应的激活服务器之间的安全通道来执行。0045另一示例是,软件程序的原始版本被安装到计算机202的硬盘驱动器。用户可能下载非法的破解的或者盗印的可执行部分并且用非法拷贝替换了原始的真实的可。
27、执行部分。此动作也避开了针对该软件的原始版本的保护方案。之后,用户下载并运行自动打补丁软件由软件的发布者/开发者或者分发者提供,或者由任何被授权的第三方公司提供。自动打补丁软件计算该应用包括非法的可执行拷贝的元数据并且将其发送给服务器208,服务器208将此被安装的软件辨认为是破解的版本,即非法拷贝。自动打补丁软件用从给定URLWEB服务器212下载的真实拷贝来替换非法拷贝,并将动态链接库DLL添加到软件的安装文件夹,动态链接库在下一次游戏起动时示出一对话,此对话指示出从哪创建和购买用于个人计算机游戏的用户帐户,动态链接库还执行在线激活用户帐户的给定证书的认证。例如,这涉及用户帐户服务器,其中。
28、个人计算机的用户在用户帐户服务器处创建用户帐户,并且涉及购买软件并将其绑定到该用户账户的过程。0046还可以在运行非法拷贝的同时存储已经获得的用户数据,并且当稍后运行合法拷贝时使用此存储的用户数据。利用此实施例,可以在从非法拷贝改变到合法拷贝时为用户提供添加的值,因为,例如用户设置可被再次使用或者当运行非法拷贝时已经通关的冒险游戏的等级在当运行合法拷贝时可以被认为已通关,从而用户不必再次重玩这些等级。补丁可执行识别和提取在运行非法拷贝时获得的用户数据的代码成分。所提取的用户数据然后被插入或者编译到所生成的合法拷贝的代码成分中并被存储在计算机中。0047利用所提出的方法和系统,没付费的客户可以被。
29、容易地转变成付费客户。这容易防止对元数据的未经授权的使用,因为容易改变用于检查是否存在合法拷贝的元数据和/哈希函数并且另外还能够容易改变合法拷贝的真实文件的档案文件位置。例如,所述元数据和/或哈希函数可在当每次元数据确定单元204、206执行检查时或者在元数据确定单元204、206的版本被改变之后而被改变。0048软件程序的原始版本和非法拷贝的元数据值都被存储在服务器208上,并且可在新的非法拷贝被分发之后被更新。这确保对每个非法拷贝的全部覆盖和各种打补丁可能性。说明书CN102346826ACN102346846A1/3页9图1说明书附图CN102346826ACN102346846A2/3页10图2图3说明书附图CN102346826ACN102346846A3/3页11图4说明书附图CN102346826A。