[发明专利]软件保护无效
申请号: | 200680010861.1 | 申请日: | 2006-04-03 |
公开(公告)号: | CN101151617A | 公开(公告)日: | 2008-03-26 |
发明(设计)人: | N·吉达洛维 | 申请(专利权)人: | 皇家飞利浦电子股份有限公司 |
主分类号: | G06F21/00 | 分类号: | G06F21/00 |
代理公司: | 永新专利商标代理有限公司 | 代理人: | 王英 |
地址: | 荷兰艾*** | 国省代码: | 荷兰;NL |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 保护 | ||
发明领域
本发明涉及一种用于保护计算机设备上的可执行程序免受检查和/或操纵的方法,所述计算机设备包括用于执行所述可执行程序的执行环境。
背景技术
计算机设备上的软件可能会遭受欺诈性的检查、篡改、反向工程等,这是众所周知的问题。随着越来越多的计算机通过网络(例如,外联网、内联网、互联网等)至少偶尔地连接其它计算机,这个问题变得越来越严重。
现有的外壳打包器程序(shell packager)使用压缩算法将可执行程序打包,然后再将其与解压缩代码合并。所得到的可执行程序有引导程序代码,引导程序代码先将压缩的可执行程序解压缩在存储器中,然后调用可执行程序的进入点(entry point)。但是,如果可执行程序是通过目前的打包器程序压缩的,则可以实施反向工程,这是因为,在计算机的存储器介质中可得到该可执行程序。此外,对于目前的压缩可执行程序在经过解压缩后,可以侦查可执行程序对操作系统(OS)、注册表或存储器的调用。
US 6006328描述了保护软件免受窃听、篡改、检查、跟踪和欺骗。这种保护借助于以下手段的组合来实现:加密、乱序处理、反跟踪、反篡改、自我验证、运行时间自我监视、视听鉴权技术。但是,这是一种很复杂的组合,需要对这些技术的进程做大量的日志。
发明内容
因此,本发明的目的是提供一种替代性方法来增强软件保护,以免受检查和/或操纵。此目的借助于开篇所述的方法来实现,其包括下列步骤:生成替代性的执行环境,所述替代性的执行环境包括操作系统(OS)调用的实现;将原始的可执行程序和所述替代性的执行环境合并成一个新的可执行程序。
因此,原始的可执行程序就被打包/包装在新的可执行程序中,这个新的可执行程序包括替代性的执行环境,从而,原始的可执行程序对计算机设备的操作系统的调用不会再受检查或操纵。这样一来,就能保护可执行程序免受任何类型的检查和操纵。目前的操作系统和编译器一般都使用所谓的动态链接方法去调用操作系统提供的应用程序接口(API),所以,原始的可执行程序一般都包括对操作系统的调用。这样的调用可以是对库和实现操作系统API服务的函数的调用。
贯穿全文,术语“检查和/或操纵”意在涵盖下列词语:窃听、篡改、检查、反向工程、API劫取(hijacking)、API注入和API侦听。此外,术语“可执行程序”意在涵盖下列词语:包含程序的任何软件或文件,即,能在计算机设备中执行或者作为程序运行的软件或文件。术语“OS调用的实现”意在涵盖以下方式:执行与原始可执行程序中的OS调用相对应的调用。最后,术语“调用”与“命令”或“请求”同义。
优选情况下,本方法包括下列步骤:将原始可执行程序中的调用转换成实现在替代性的执行环境中的相应调用。采用本方法的转换步骤,将原始可执行程序中对例如动态链接库的引用或调用替换成或者转换成实现在替代性的执行环境中的调用。这样,可以确保新的可执行程序的运行对应于原始的可执行程序的运行。将原始可执行程序中的调用进行转换的步骤可以通过以下方式实现:借助于原始可执行程序中的一张表(包含对动态链接库的引用);将那些引用替换成实现在替代性的执行环境中的调用。
在一个优选实施例中,替代性的执行环境包括虚拟操作系统。当原始可执行程序中的调用已经被转换成虚拟操作系统中的对应调用时,该虚拟操作系统能够执行操作系统中与原始可执行程序有关的任务。但是,虚拟操作系统中的这些调用不会被虚拟操作系统之外检测到。
在本发明的方法的另一优选实施例中,替代性的执行环境还包括以下一个或多个组件:虚拟文件系统、虚拟注册表、虚拟进程管理器、虚拟资源管理器。至于这些组件是否均应包括在替代性的执行环境中,这取决于在原始可执行程序中会调用哪些组件,所以,原始可执行程序中不调用的组件不必包括在替代性的执行环境中,反之亦然。
优选情况下,本发明的方法中的合并步骤还包括:将新的可执行程序和引导程序代码进行合并。因此,通过使用引导程序代码,新的可执行程序可以加载到计算机设备中,并在其上执行。
在本发明的一个优选实施例中,它还包括下述的在先步骤:识别原始可执行程序中的调用;由此,生成替代性的执行环境的步骤包括:只生成在原始可执行程序中识别出的调用的实现。因此,这可以防止生成过于复杂或过于庞大的替代性执行环境。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于皇家飞利浦电子股份有限公司,未经皇家飞利浦电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200680010861.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:成形机监视装置、方法及程序
- 下一篇:平板玻璃及平板玻璃的制造方法