用软件程序的合法拷贝替换非法拷贝的方法及相应系统技术方案

技术编号:7107228 阅读:358 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了用软件程序的合法拷贝替换非法拷贝的方法及相应系统。一种用软件程序的合法拷贝替换非法拷贝的方法,包括:确定在计算机上运行的第一软件程序的元数据;如果所述元数据不与所述软件程序的合法拷贝的元数据相对应,则从第一服务器向所述计算机发送补丁;通过用所述补丁替换所述第一软件程序的至少一部分来生成第二软件程序;利用所述补丁的代码成分来显示图形用户界面,并且向用户索取认证令牌;从第二服务器获得所述认证令牌;验证所述认证令牌;并且如果所述认证令牌被验证没有问题,则将所述第二软件程序标记为合法拷贝。另外,相应的系统也被提供。

【技术实现步骤摘要】

本专利技术涉及用软件程序的合法拷贝替换非法拷贝的方法、相应系统以及存储在非暂时介质上的软件补丁(patch)。
技术介绍
软件程序的非法拷贝的使用不仅侵犯版权,而且严重影响到软件生产商和软件开发商,因为他们将会因他们的知识产权被非授权分发而失去很多利益。因此,已经开发出多种技术,这些技术识别软件程序的非法拷贝并且然后禁止软件程序的某些特性,例如,更新功能或者在线播放,或者防止对软件程序的全部使用。然而,对于这些已知的技术,仅能够阻止软件程序的非法拷贝的用户使用此非法拷贝,或者至少降低了软件程序的可用性。
技术实现思路
因此,需要提供一种将软件程序的非法拷贝的用户改变成软件程序的合法拷贝的用户的方法和系统。此目的通过根据权利要求1的用软件程序的合法拷贝替换非法拷贝的方法、根据权利要求13的相应的系统以及根据权利要求15的软件补丁来达成。其他的实施例被定义在从属权利要求中。本专利技术的进一步的细节将通过考虑附图以及随后的描述而变得很明显。 附图说明图1示出本专利技术的一实施例的示意性步骤;图2示出根据本专利技术的一实施例的系统的示意性框图;图3示出根据本专利技术的又一实施例的系统的示意性框图;以及图4示出本专利技术的另一实施例的示意性框图。具体实施例方式下面描述本专利技术的实施例。重要地,注意,下面所描述的所有实施例及其他们的特性和技术特征可以任意方式组合,即,不存在这样的限制某些所描述的实施例、特性和技术特征不能与其他的组合。在图1中,示出了根据本专利技术的一实施例的方法步骤,此方法步骤在结合图2中所示的系统的实施例描述时可能会更容易理解。在步骤SlOO中,从存储在一计算机202的存储介质上的第一软件程序200的特性确定出元数据,例如通过元数据确定单元204来确定。元数据可以通过确定第一软件程序 200文件的哈希值或者例如考虑该软件程序的版本号或第一软件程序的建立时间戳、语言、 数字签名而被确定。术语“计算机”也指包括微处理器的设备,例如,可以分发软件程序的非法拷贝的控制台、手持设备、蜂窝电话或个人计算机。存储介质可以是本地驱动器、网络驱动器、磁盘或存储器驱动器。哈希功能是任意的定义完好的过程或者数学函数,其将大小可能改变的大量数据转换成小数据,通常为单精度整数(single integer)。哈希函数返回的值被称为哈希值、哈希代码、哈希和、检验和,或简单地称为哈希。此函数可在软件程序200中被执行以计算来自软件程序200的主要的可执行或者任何其他的(一个或多个)文件的哈希值。所使用的元数据应当反映当软件程序的非法拷贝被制作时该软件程序发生了改变的特征。例如,当非法拷贝被生成时,软件程序的版权保护部分可能被移除,从而使得非法软件程序可被自由分发。版权保护部分可以是版权保护或数字权利管理模块、封套或层。 除此之外,软件程序的非法拷贝通常使得文件被移除或被压缩,使得数字签名被移除或者另外添加了文件。例如,对于各个软件程序,版权保护部分可包括个别的客户项目应用(customer project application,CPA)号。为了识别用于不同领域或语言的软件程序的不同版本,还可以使用交易号。在本专利技术的一些实施例中,当版权保护仍存在时,即当软件程序的合法拷贝或版本被使用时,通过利用应用编程接口(API),CPA和交易号二者都可用。然而,当版权保护被去除了时,相应的API将返回不同的号或根本不返还值。因此,CPI连同交易号一起可用作区分非法拷贝和合法拷贝的元数据。例如,软件程序与影片介绍一起以无损视频格式被存储,通常对于软件程序的非法拷贝,这样的视频文件利用允许更高压缩的视频格式被重新编码以减小软件程序的大小从而以便更容易地在线分发。这样的多媒体文件(即,电影、音频、纹理)的大小以及改变后的哈希值可被用作区分软件程序的合法拷贝和非法拷贝的元数据。例如,软件程序与类似自述文本文件等的文件一起。通常,对于软件程序的非法拷贝,这样的文件被全部移除,但是添加了其他文件。软件程序的安装文件夹中的这些文件结构的改变也可被考虑作为元数据。例如,软件库和软件程序的可执行部分(即,dll文件)嵌入了称为资源的数据, 这些资源是只读的并且通常在软件程序编译期间被设置。每个资源有类型和名称,类型和名称可以是数字标识符或串。对于软件程序的非法拷贝,这些值通常会被改变。软件程序的资源的值也可被考虑作为元数据。例如,软件库和软件程序的可执行部分(即,dll文件)可以是被数字签名的。此签名是由软件程序的开发者或发布者施加的。签名是用于证明数字消息或文档的真实性的数学图示。有效的数字签名给出了相信此消息或内容是由知道的发送方创建的并且其在转送中未被改变的接受理由。签名可相比于图章,并且对于软件程序的非法拷贝,如果软件库或软件程序的可执行部分被改变了,则签名将被破坏。这样的签名的存在性和完整性也可被考虑作为元数据。软件程序可以是软件应用,例如类似字处理程序、表单计算程序或者游戏应用。元数据确定单元204可以是单独的单元,或者可以被包括在第一软件程序200中。还可以由第三方软件应用206来确定第一软件程序200的元数据,第三方软件应用206例如是游戏平台、抗病毒软件或者操作系统软件或软件库。在步骤S102,检查所确定的第一软件程序200的元数据是否与合法拷贝的元数据相对应,例如,是否等同于合法拷贝的元数据。合法拷贝的元数据可被存储在第一短剑程序200中,或者可被提供作为存储在本地或远程数据表中的服务。例如,合法拷贝的元数据可被存储在第一服务器208中,其中确定出的第一软件程序200的元数据将被发送给第一服务器208。如果从第一软件程序200的特性确定出的元数据不与合法宝贝的元数据相对应, 则在步骤S104中,补丁或软件补丁 214被发送给计算机202。术语补丁或软件补丁 214用于描述用于更新计算机程序或其支持数据的软件片段。例如,补丁可包含更新后的合法的可执行部分、软件库和数据文件。补丁 214包括第一补丁成分216和第二补丁成分218。第一补丁成分216用于用合法的软件成分242来替换非法拷贝的至少一部分,并且第二补丁成分218例如提供图形用户界面M4(GUI),类似于用于向软件程序的用户提交信息的认证对话、认证电子邮件、短消息服务(SMS)或多媒体消息服务(MMS)。补丁 214可被配置为是档案文件。然后,此档案文件必须被解包到软件在计算机使用的可写介质(例如,硬盘、存储棒、U盘)上的安装目录中,并且用合法拷贝的真实文件来覆写非法拷贝的文件。如参考下面第一到第四种情形更加详细描述的,补丁的解包和执行(包括覆写这种文件)可以自动由第一软件程序200或者由第三方软件程序206执行。在第一种情形中,第一软件程序200例如从web服务器、本地驱动器、网络驱动器、 盘片或存储器驱动器下载补丁 214,并且将其存储在计算机202上,其中,补丁 214被配置为是设置/安装器程序。之后,第一软件程序200执行补丁 214,例如,利用窗口 API (应用程序接口)jhellExecute。在被执行时,补丁 214将文件拷贝(并且可以是覆写)到软件程序安装目录,并且生成包括合法的软件成分242的第二软件程序M0。在第二种情形中,第一软件程序200例如从web服务器、本地驱动器、本文档来自技高网...

【技术保护点】
1.一种用软件程序的合法拷贝替换非法拷贝的方法,包括:从第一软件程序的特性确定元数据,所述第一软件程序被存储在一计算机的存储介质上;如果所述元数据不与所述软件程序的合法拷贝的元数据相对应,则从第一服务器向所述计算机发送补丁;通过用所述补丁的代码成分替换所述第一软件程序的至少一部分来生成第二软件程序;在所述第二软件程序启动时显示图形用户界面;请求认证令牌;从第二服务器获得所述认证令牌;验证所述认证令牌;并且如果所述认证令牌被验证没有问题,则将所述第二软件程序标记为合法拷贝。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:托马斯·高博
申请(专利权)人:索尼达德克奥地利股份公司
类型:发明
国别省市:AT

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

1