[发明专利]加载格式的程序代码的产生以及可执行程序代码的提供有效
申请号: | 200580041917.5 | 申请日: | 2005-12-01 |
公开(公告)号: | CN101073054A | 公开(公告)日: | 2007-11-14 |
发明(设计)人: | 乌尔里克·科尔曾伯格;斯蒂芬·斯皮茨;沃尔夫冈·埃芬 | 申请(专利权)人: | 德国捷德有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京市柳沈律师事务所 | 代理人: | 周少杰 |
地址: | 德国*** | 国省代码: | 德国;DE |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 加载 格式 程序代码 产生 以及 可执行 提供 | ||
技术领域
本发明一般涉及便携式数据载体领域和用于这种数据载体的软件的创建。特别地,本发明涉及如下领域:产生用于便携式数据载体的程序代码,将程序代码加载到数据载体中,并提供用于由数据载体的处理器执行的程序代码。为了本文的目的,便携式数据载体可以采取芯片卡(智能卡)或紧凑芯片模块的形式,并且在本发明的某些实施例中,还可以采取其他类构造的有限资源系统的形式。
背景技术
近年来,在连续的技术发展过程中,便携式数据载体已经变得日益功能强大。这对由硬件和存储空间构成可用的计算能力、以及由操作系统提供的功能都是确实的。现代便携式数据载体展现允许程序代码的后加载(即,在数据载体的运行期间加载程序代码)的功能(functionality)。应用程序可被后加载到的数据载体已经为人所知一段时间了。然而目前,数据载体还正在发展,其允许操作系统的部分例如驱动程序(driver)、库或函数模块(functionalmodule)的后加载。将期望这种后加载选项在未来将发展成用于便携式数据载体的灵活操作系统的重要部分。
通常,与便携式数据载体相关的重要因素是安全性和间谍保护方面,因为便携式数据载体经常被用于安全关键应用,并且未授权使用或窥探的结果可引起相当大的损害。允许程序代码的后加载的数据载体的特别问题在于,数据载体的内部工作必须尽可能不被暴露。特别地,必须确保要后加载的程序代码的外部开发者不需要或不能获得关于数据载体的内部结构和内部程序结构的信息。因此,例如数据载体的平台相关函数(function)必须尽可能地保持隐藏,即使要被后加载的程序代码最终使用这些函数。
发明内容
本发明的目的是全部或部分解决上述的问题。特别地,本发明旨在提供安全、保护隐私的技术,其允许产生用于便携式数据载体的加载格式的程序代码,并提供便携式数据载体中的可执行程序代码。
根据本发明,提供了一种产生加载格式的程序代码的方法,该加载格式的程序代码意图在于在便携式数据载体运行期间被加载到其中并由所述数据载体的处理器执行,以及在所述执行期间,使用位于所述数据载体上的库的函数,所述方法具有在所述数据载体外执行的下列步骤:产生目标代码格式的程序代码,以及至少部分地相对于伪库链接目标代码格式的程序代码,以便获得加载格式的程序代码,所述伪库以如下方式不同于位于所述数据载体上的库:位于所述数据载体上的库的至少一些内部函数在伪库中不存在或被隐藏或被屏蔽。
根据本发明,还提供了一种提供便携式数据载体中的可执行程序代码的方法,建立所述可执行程序代码,以便在由所述数据载体的处理器的执行期间使用位于所述数据载体上的库的函数,所述方法具有由所述数据载体的处理器执行的下列步骤:在所述数据载体的运行期间,加载加载格式的程序代码,所述加载格式的程序代码已被至少部分地相对于伪库链接,该伪库以如下方式不同于位于所述数据载体上的库:位于所述数据载体上的库的至少一些内部函数在所述伪库中不存在或被隐藏或被屏蔽,以及相对于位于所述数据载体上的库链接加载格式的所述程序代码,以便得到所述可执行的程序代码。
本发明的基本原则是仅提供数据载体外部的伪库,该伪库与位于数据载体上的库的不同在于,位于数据载体上的库的至少某些内部函数在伪库中不存在或被隐藏或被屏蔽。只有伪库—并且可选地相关联的文件—需要对于外部程序开发者可访问。这样,信息可以保密,从所述信息第三方可能得出关于数据载体的内部工作的不期望的结论。这样,本发明允许保护甚至由第三方例如由独立软件公司或数据载体的产业用户开发可后加载的程序代码。
目标代码格式的程序代码被至少部分与伪库相关地链接。这意味着,特别在本发明的某些实施例中,加载格式的程序代码仍可以包括通常包括在目标代码格式中的类型的符号信息。在其他的实施例中,相反,与伪库相关的、完全链接的程序代码以加载格式产生。
进一步的链接过程发生在数据载体上,其在优选实施例中采取动态链接过程的形式。在不同实施例中,该链接过程可以发生在加载时、或运行时、或部分地在加载时部分地在运行时。在数据载体上执行的链接过程与位于数据载体上的私有库相关地发生。
在优选实施例中,数据载体外部执行的链接是与伪库的虚拟函数相关的虚拟链接。因此,在某些实施例中,加载格式的程序代码中的虚拟函数调用,可以由位于数据载体上的库的实际函数调用在数据载体内替换。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于德国捷德有限公司,未经德国捷德有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200580041917.5/2.html,转载请声明来源钻瓜专利网。