下载.Net程序的方法和装置制造方法及图纸

技术编号:2917686 阅读:195 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种下载.Net程序的方法和装置,属于计算机技术领域。所述方法包括:在.Net程序编译后得到的可执行文件中,在除标准的可执行文件信息以外的范围内,提取类、参数和函数的信息,以及所述函数对应的代码体;将所述提取的类、参数和函数的信息组建成表格,并进行排序;根据所述排序后的序号,修改所述代码体中相关的信息;下载所述表格和修改后的代码体到所述.Net卡中。所述装置包括:提取模块、组建模块、修改模块和下载模块。本发明专利技术减少了.Net程序可执行文件的冗余,节约了.Net卡的存储空间,提高了.Net卡加载和执行.Net程序的速度。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种下载.Net程序的方法和装置
技术介绍
.Net是微软的新一代技术平台,是全新的基于互联网的跨语言软件开发平台,顺应了当今软件工业分布式计算、面向组件、企业级应用、软件服务化和以Web为中心等大趋势。.Net并非开发语言,但是在.Net开发平台上可以支持多门开发语言,如C#语言、C++、Visual Basic、Jscript等。智能卡是一种大小和普通名片相仿的塑料卡片,内含一块直径1cm左右的硅芯片,具有存储信息和进行复杂运算的功能。它被广泛地应用于电话卡、金融卡、身份识别卡以及移动电话、付费电视等领域。其中,智能卡的芯片上,集成了微处理器、存储器以及输入/输出单元等,使得智能卡被认为是世界上最小的电子计算机。并且在智能卡上,拥有一整套性能极强的安全保密控制机制,安全控制程序被固化在只读存储器之中,因而具有无法复制和密码读写等可靠的安全保证。它较之普通磁卡,还具有信息存储容量大,可利用微处理来增加卡片功能等优点。.Net卡是一种含有可以运行.Net程序的.Net卡虚拟机的微处理器智能卡。所谓虚拟机,可以把它想象成一台用软件来模拟的机器,在这台机器里有处理器、内存、寄存器等各种硬件,模拟运行各种指令,在这台机器上运行的软件对运行环境没有特殊要求,所以虚拟机对在它上运行的程序是透明的。例如,x86虚拟机模拟的是x86指令程序的运行环境,c51虚拟机模拟的是c51指令程序的运行环境。当在.Net卡中运行服务程序时,通常会调用标准类库中的类和函数。由此,虽然.Net卡已经有了比较强大的功能,但是相比于计算机,.Net卡的存储空间和处理速度还是有很大限制,例如在.Net卡中执行程序,必须先将程序下载到.Net卡中,而一个可执行文件程序动辄十几K,就.Net卡的存储空间而言,给.Net卡带来了很大的压力。而且程序即使下载到.Net卡中,加载器解析程序的复杂程度也会随着程序的大小成倍增长,给.Net卡运行程序带来了更大的困难。-->
技术实现思路
为了提高.Net卡加载和执行.Net程序的速度,本专利技术提供了一种下载.Net程序的方法和装置。所述技术方案如下:一种下载.Net程序的方法,所述方法包括:在.Net程序编译后得到的可执行文件中,在除标准的可执行文件信息以外的范围内,提取类、参数和函数的信息,以及所述函数对应的代码体;将所述提取的类、参数和函数的信息组建成表格,并进行排序;根据所述排序后的序号,修改所述代码体中相关的信息;下载所述表格和修改后的代码体到所述.Net卡中。其中,根据所述排序后的序号,修改所述代码体中相关的信息,具体包括:判断所述可执行文件是否是基于微软标准类库编译的可执行文件,还是基于.Net卡类库编译后的可执行文件;如果是基于微软标准类库编译的可执行文件,则将所述表格中.Net卡不支持的类、参数和函数的信息删除,然后重新排序,并根据所述删除的类、参数和函数以及所述重新排序后的序号,修改所述代码体中相关的信息;如果是基于.Net卡类库编译后的可执行文件,则根据所述排序后的序号,修改所述代码体中相关的信息。所述类的信息包括:类的名称、属性、个数以及所述类含有的参数个数及含有的函数个数。所述参数的信息包括:参数的属性。所述函数的信息包括:函数在元数据表中的偏移、所述函数的标志和所述函数的参数列表。所述代码体具体为IL语言代码体。其中,根据所述删除的类、参数和函数以及所述重新排序后的序号,修改所述代码体中相关的信息,具体包括:判断所述代码体中是否包含所述删除的类、参数和函数;如果是,则将所述代码体中与所述删除的类、参数和函数相同的类、参数和函数删除,然后将执行所述删除操作后的代码体中包含的类、参数和函数的序号,修改为所述重新排序后的序号中相应的序号。-->一种下载.Net程序的装置,所述装置包括:提取模块,用于在.Net程序编译后得到的可执行文件中,在除标准的可执行文件信息以外的范围内,提取类、参数和函数的信息,以及所述函数对应的代码体;组建模块,用于将所述提取模块提取的类、参数和函数的信息组建成表格,并进行排序;修改模块,用于根据所述组建模块排序后的序号,修改所述提取模块提取的代码体中相关的信息;下载模块,用于下载所述表格和所述修改模块修改后的代码体到所述.Net卡中。所述修改模块具体包括:判断单元,用于判断所述可执行文件是否是基于微软标准类库编译的可执行文件,还是基于.Net卡类库编译后的可执行文件;第一修改单元,用于当所述判断单元判断出所述可执行文件是基于微软标准类库编译的可执行文件时,将所述表格中.Net卡不支持的类、参数和函数的信息删除,然后重新排序,并根据所述删除的类、参数和函数以及所述重新排序后的序号,修改所述代码体中相关的信息;第二修改单元,用于当所述判断单元判断出所述可执行文件是基于.Net卡类库编译后的可执行文件时,根据所述排序后的序号,修改所述代码体中相关的信息。所述类的信息包括:类的名称、属性、个数以及所述类含有的参数个数及含有的函数个数。所述参数的信息包括:参数的属性。所述函数的信息包括:函数在元数据表中的偏移、所述函数的标志和所述函数的参数列表。所述代码体具体为IL语言代码体。所述第一修改单元具体包括:删除子单元,用于当所述判断单元判断出所述可执行文件是基于微软标准类库编译的可执行文件时,将所述表格中.Net卡不支持的类、参数和函数的信息删除,然后重新排序;判断子单元,用于当所述删除子单元重新排序后,判断所述提取模块提取的代码体中是否包含所述删除模块删除的类、参数和函数;修改子单元,用于当所述判断子单元判断的结果为是时,将所述代码体中与所述删除的类、参数和函数相同的类、参数和函数删除,然后将执行所述删除操作后的代码体中包含的类、参数和函数的序号,修改为所述重新排序后的序号中相应的序号。-->本专利技术提供的技术方案的有益效果是:通过从.Net程序编译后的可执行文件中提取类、参数和函数的信息以及该函数的代码体,并组建成表格,删除该表格中.Net卡不支持的表项后,根据删除后的表格对提取的代码体内容进行更新并进行相应的下载,减少了.Net程序可执行文件的冗余,节约了.Net卡的存储空间,提高了.Net卡加载和执行.Net程序的速度。附图说明图1是本专利技术实施例1提供的下载.Net程序的方法流程图;图2是本专利技术实施例1提供的.Net程序编译后的可执行文件示意图;图3是本专利技术实施例1提供的标准的可执行文件信息示意图;图4是本专利技术实施例1提供的可执行文件中除标准的可执行文件信息外的内容示意图;图5是本专利技术实施例2提供的下载.Net程序的装置结构图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。本专利技术实施例提供了一种下载.Net程序的方法,包括:在.Net程序编译后得到的可执行文件中,在除标准的可执行文件信息以外的范围内,提取类、参数和函数的信息,以及该函数对应的代码体;将上述提取的类、参数和函数的信息组建成表格,并进行排序;根据排序后的序号,修改上述代码体中相关的信息;下载表格和修改后的代码体到.Net卡中。实施例1参见图1,本专利技术实施例提供了一种下载.Net程序的方法,该方法本文档来自技高网
...

【技术保护点】
一种下载.Net程序的方法,其特征在于,所述方法包括: 在.Net程序编译后得到的可执行文件中,在除标准的可执行文件信息以外的范围内,提取类、参数和函数的信息,以及所述函数对应的代码体; 将所述提取的类、参数和函数的信息组建成表格,并进行排序; 根据所述排序后的序号,修改所述代码体中相关的信息; 下载所述表格和修改后的代码体到所述.Net卡中。

【技术特征摘要】
1.一种下载.Net程序的方法,其特征在于,所述方法包括:在.Net程序编译后得到的可执行文件中,在除标准的可执行文件信息以外的范围内,提取类、参数和函数的信息,以及所述函数对应的代码体;将所述提取的类、参数和函数的信息组建成表格,并进行排序;根据所述排序后的序号,修改所述代码体中相关的信息;下载所述表格和修改后的代码体到所述.Net卡中。2.根据权利要求1所述的下载.Net程序的方法,其特征在于,根据所述排序后的序号,修改所述代码体中相关的信息,具体包括:判断所述可执行文件是基于微软标准类库编译的可执行文件,还是基于.Net卡类库编译后的可执行文件;如果是基于微软标准类库编译的可执行文件,则将所述表格中.Net卡不支持的类、参数和函数的信息删除,然后重新排序,并根据所述删除的类、参数和函数以及所述重新排序后的序号,修改所述代码体中相关的信息;如果是基于.Net卡类库编译后的可执行文件,则根据所述排序后的序号,修改所述代码体中相关的信息。3.根据权利要求1所述的下载.Net程序的方法,其特征在于,所述类的信息包括:类的名称、属性、个数以及所述类含有的参数个数及含有的函数个数。4.根据权利要求1所述的下载.Net程序的方法,其特征在于,所述参数的信息包括:参数的属性。5.根据权利要求1所述的下载.Net程序的方法,其特征在于,所述函数的信息包括:函数在元数据表中的偏移、所述函数的标志和所述函数的参数列表。6.根据权利要求1所述的下载.Net程序的方法,其特征在于,所述代码体具体为IL语言代码体。7.根据权利要求2所述的下载.Net程序的方法,其特征在于,根据所述删除的类、参数和函数以及所述重新排序后的序号,修改所述代码体中相关的信息,具体包括:判断所述代码体中是否包含所述删除的类、参数和函数;如果是,则将所述代码体中与所述删除的类、参数和函数相同的类、参数和函数删除,然后将执行所述删除操作后的代码体中包含的类、参数和函数的序号,修改为所述重新排序后的序号中相应的序号。8.一种下载.Net程序的装置,其特征在于,所述装置包括:提取模块,用于在.Net程序编译后得到的可执行文件中,在除标准的可执行文件信息以外的范围内,提取类、参数和函数的信息,以及所述函数对应的代码体;组建...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:北京飞天诚信科技有限公司
类型:发明
国别省市:11[中国|北京]

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

1