CN101382892B - 下载.Net程序的方法和装置 - Google Patents

下载.Net程序的方法和装置 Download PDF

Info

Publication number
CN101382892B
CN101382892B CN 200810222759 CN200810222759A CN101382892B CN 101382892 B CN101382892 B CN 101382892B CN 200810222759 CN200810222759 CN 200810222759 CN 200810222759 A CN200810222759 A CN 200810222759A CN 101382892 B CN101382892 B CN 101382892B
Authority
CN
China
Prior art keywords
function
parameter
class
net
executable file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 200810222759
Other languages
English (en)
Other versions
CN101382892A (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Beijing Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN 200810222759 priority Critical patent/CN101382892B/zh
Publication of CN101382892A publication Critical patent/CN101382892A/zh
Priority to FR0956453A priority patent/FR2936327B1/fr
Application granted granted Critical
Publication of CN101382892B publication Critical patent/CN101382892B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Abstract

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

Description

下载.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卡类库编译后的可执行文件,则根据所述排序后的序号,修改所述代码体中相关的信息。
所述类的信息包括:类的名称、属性、个数以及所述类含有的参数个数及含有的函数个数。
所述参数的信息包括:参数的属性。
所述函数的信息包括:函数在元数据表中的偏移、所述函数的标志和所述函数的参数列表。
所述代码体具体为Intermediate Language语言代码体。
其中,根据所述删除的类、参数和函数以及所述重新排序后的序号,修改所述代码体中相关的信息,具体包括:
判断所述代码体中是否包含所述删除的类、参数和函数;
如果是,则将所述代码体中与所述删除的类、参数和函数相同的类、参数和函数删除,然后将执行所述删除操作后的代码体中包含的类、参数和函数的序号,修改为所述重新排序后的序号中相应的序号。
一种下载.Net程序的装置,所述装置包括:
提取模块,用于在.Net程序编译后得到的可执行文件中,在除标准的可执行文件信息以外的范围内,提取类、参数和函数的信息,以及所述函数对应的代码体;
组建模块,用于将所述提取模块提取的类、参数和函数的信息组建成表格,并进行排序;
修改模块,用于根据所述组建模块排序后的序号,修改所述提取模块提取的代码体中相关的信息;
下载模块,用于下载所述表格和所述修改模块修改后的代码体到.Net卡中;
所述修改模块包括:
判断单元,用于判断所述可执行文件是否是基于微软标准类库编译的可执行文件,还是基于.Net卡类库编译后的可执行文件;
第一修改单元,用于当所述判断单元判断出所述可执行文件是基于微软标准类库编译的可执行文件时,将所述表格中.Net卡不支持的类、参数和函数的信息删除,然后重新排序,并根据所述删除的类、参数和函数以及所述重新排序后的序号,修改所述代码体中相关的信息;
第二修改单元,用于当所述判断单元判断出所述可执行文件是基于.Net卡类库编译后的可执行文件时,根据所述排序后的序号,修改所述代码体中相关的信息。
所述类的信息包括:类的名称、属性、个数以及所述类含有的参数个数及含有的函数个数。
所述参数的信息包括:参数的属性。
所述函数的信息包括:函数在元数据表中的偏移、所述函数的标志和所述函数的参数列表。
所述代码体具体为Intermediate Language语言代码体。
所述第一修改单元具体包括:
删除子单元,用于当所述判断单元判断出所述可执行文件是基于微软标准类库编译的可执行文件时,将所述表格中.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程序的方法,该方法具体包括:
步骤101:对.Net程序进行编译得到可执行文件。
通常,可执行文件中包含有:标准的可执行文件信息、代码和元数据表等等。其中,标准的可执行文件信息是指可执行文件中标准的PE(Portable Executable)文件头和无用区块表,该PE(Portable Executable)文件头可以用来识别当前文件为可执行文件,无用区块表是指存储.Net卡不支持的资源的区块表,该资源如Windows的窗体、图标等等。元数据表中包含有各种数据,包括:类、参数和函数等等。
例如,.Net程序如下:
Figure GSB00000443837100041
Figure GSB00000443837100051
对上述.Net程序进行编译后,得到的可执行文件如图2所示,包括标准的可执行文件信息和元数据表等等。其中,标准的可执行文件信息如图3所示,图2中除图3所示的可执行文件信息外的内容如图4所示。
步骤102:在该可执行文件中,在除标准的可执行文件信息以外的范围内,提取类、参数和函数的信息,以及函数对应的代码体。
其中,类的信息包括:类的名称、属性、个数以及类含有的参数个数及含有的函数个数等等。参数的信息包括:参数的属性,如该参数为入口参数(in传进来类型)或出口参数(out传出去类型)等等。函数的信息包括:函数在元数据表中的偏移、函数的标志和函数的参数列表等等。函数的标志是指该函数格式的类型,如长格式、短格式等等。代码体具体为IL(Intermediate Language)语言代码体。
例如,图4中的元数据表TypeRef中,包含有两个类System.Windows.Forms和System.Text.StringBuilder,其中,类System.Windows.Forms的命名空间为System.Windows,名称为Forms,属性为AssemblyRef00000001,System.Text.StringBuilder的命名空间为System.Text,名称为StringBuilder,属性为AssemblyRef00000001。
步骤103:将提取的类、参数和函数的信息组建成表格,并进行排序。
例如,在图4所示的内容中提取类System.Windows.Forms和System.Text.StringBuilder的信息,并组建成如下表格:
表1
Figure GSB00000443837100061
其中,表1中的序号即为对表中的各项内容进行排序后得到的序号。该序号可以与类、参数和函数在元数据表中的序号一致,也可以不一致,通常为一致。
步骤104:判断.Net程序的可执行文件是基于微软标准类库编译的可执行文件,还是基于.Net卡类库编译后的可执行文件,如果是基于微软标准类库编译的可执行文件,则执行步骤105;如果是基于.Net卡类库编译后的可执行文件,则执行步骤108。
步骤105:将上述组建的表格中.Net卡不支持的类、参数和函数的信息删除,并重新排序。
例如,表1中的类System.Windows.Forms为Windows支持的窗体,.Net卡不支持,因此将其删除,则删除后表1中只包含类System.Text.StringBuilder,根据表项存储的连续性,表1中的表项自动重新排序后,类System.Text.StringBuilder的序号变更为01000005,相应地,如果表1中还有序号为01000007的表项,则序号变更为01000006,如果有序号为01000008的表项,则序号变更为01000007等等。
步骤106:根据上述删除的类、参数和函数以及重新排序后的序号,修改提取的代码体中相关的信息。
具体过程如下:判断提取的代码体中是否包含上述删除的类、参数和函数;如果是,则将该代码体中与上述删除的类、参数和函数相同的类、参数和函数删除,即将该代码体中.Net卡不支持的类、参数和函数删除,然后将执行删除操作后的代码体中包含的类、参数和函数的序号,修改为重新排序后的序号中相应的序号。
例如,类System.Text.StringBuilder编译后的IL(Intermediate Language)代码体如下:
IL_0000:/* 00       |               */nop
IL_0001:/*73        | (0A)000011    */newobj        instance void
[/*23000001*/]System.Text.StringBuilder/*01000006*/::.ctor()/*0A000011*/
IL_0006:/*0A         |              */stloc.0
IL_0007:/*06         |              */ldloc.0
IL_0026:/*07  |         */ldloc.1
IL_0027:/*2A  |         */ret
根据上述表格重新排序后的序号,对该代码体中的序号进行修改,修改后的IL(Intermediate Language)代码体如下:
IL_0000:/*00    |              */nop
IL_0001:/*73    |  (0A)000011  */newobj         instance void
[/*23000001*/]System.Text.StringBuilder/*01000005*/::.ctor()/*0A000011*/
IL_0006:/*0A    |     */stloc.0
IL_0007:/*06    |     */ldloc.0
IL_0026:/*07    |     */ldloc.1
IL_0027:/*2A    |     */ret
再如,对提取的代码体执行删除操作后,该代码体中包含函数Fun1,序号为01000008,根据上述重新排序后的表格,查找到该函数Fun1的序号为01000007,则将该代码体中该函数的序号更改为01000007,从而保证该函数可以被正常调用和运行。
步骤107:下载上述执行删除操作后的表格和修改后的代码体到.Net卡中,流程结束。
步骤108:根据步骤103中排序后的序号,修改提取的代码体中相关的信息。
步骤109:下载步骤103中组建的表格和修改后的代码体到.Net卡中,流程结束。
实施例2
参见图5,本发明实施例提供了一种下载.Net程序的装置,包括:
提取模块501,用于在.Net程序编译后得到的可执行文件中,在除标准的可执行文件信息以外的范围内,提取类、参数和函数的信息,以及函数对应的代码体;
组建模块502,用于将提取模块501提取的类、参数和函数的信息组建成表格,并进行排序;
修改模块503,用于根据组建模块502排序后的序号,修改提取模块501提取的代码体中相关的信息;
下载模块504,用于下载所述表格和修改模块503修改后的代码体到.Net卡中。
进一步地,修改模块503具体包括:
判断单元503a,用于判断所述.Net程序编译后得到的可执行文件是基于微软标准类库编译的可执行文件,还是基于.Net卡类库编译后的可执行文件;
第一修改单元503b,用于当判断单元503a判断出所述可执行文件是基于微软标准类库编译的可执行文件时,将组建模块502得到的表格中.Net卡不支持的类、参数和函数的信息删除,然后重新排序,并根据删除的类、参数和函数以及重新排序后的序号,修改提取模块501提取的代码体中相关的信息;相应地,此时,下载模块504下载的是该执行删除操作后的表格;
第二修改单元503c,用于当判断单元503a判断出所述可执行文件是基于.Net卡类库编译后的可执行文件时,根据组建模块502排序后的序号,修改提取模块501提取的代码体中相关的信息;相应地,此时,下载模块504下载的是组建模块502得到的表格。
本实施例中,所述类的信息包括:类的名称、属性、个数以及类含有的参数个数及含有的函数个数。
本实施例中,所述参数的信息包括:参数的属性。
本实施例中,所述函数的信息包括:函数在元数据表中的偏移、函数的标志和函数的参数列表。
本实施例中,所述代码体具体为IL(Intermediate Language)语言代码体。
进一步地,上述第一修改单元503b具体包括:
删除子单元,用于当判断单元503a判断出所述.Net程序编译后得到的可执行文件是基于微软标准类库编译的可执行文件时,将组建模块502得到的表格中.Net卡不支持的类、参数和函数的信息删除,然后重新排序;
判断子单元,用于当所述删除子单元重新排序后,判断提取模块501提取的代码体中是否包含删除模块503删除的类、参数和函数;
修改子单元,用于当所述判断子单元判断的结果为是时,将提取模块501提取的代码体中与所述删除的类、参数和函数相同的类、参数和函数删除,然后将执行删除操作后的代码体中包含的类、参数和函数的序号,修改为所述判断子单元重新排序后的序号中相应的序号。
本发明实施例提供的上述方法和装置,通过从.Net程序编译后的可执行文件中提取类、参数和函数的信息以及该函数的代码体,并组建成表格,删除该表格中.Net卡不支持的表项后,根据删除后的表格对提取的代码体内容进行更新并进行相应的下载,减少了.Net程序可执行文件的冗余,节约了.Net卡的存储空间,提高了.Net卡加载和执行.Net程序的速度。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

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

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN 200810222759 CN101382892B (zh) 2008-09-24 2008-09-24 下载.Net程序的方法和装置
FR0956453A FR2936327B1 (fr) 2008-09-24 2009-09-21 Procede de telechargement d'un programme .net et dispositif pour celui-ci

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810222759 CN101382892B (zh) 2008-09-24 2008-09-24 下载.Net程序的方法和装置

Publications (2)

Publication Number Publication Date
CN101382892A CN101382892A (zh) 2009-03-11
CN101382892B true CN101382892B (zh) 2012-04-18

Family

ID=40462746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810222759 Active CN101382892B (zh) 2008-09-24 2008-09-24 下载.Net程序的方法和装置

Country Status (2)

Country Link
CN (1) CN101382892B (zh)
FR (1) FR2936327B1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719077B (zh) * 2009-12-24 2012-06-27 飞天诚信科技股份有限公司 在.Net程序中注入代码的方法和装置
CN101794221B (zh) * 2009-12-30 2012-08-08 飞天诚信科技股份有限公司 .net文件中引用类型的压缩方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1316073A (zh) * 1999-07-01 2001-10-03 布尔Cp8公司 用于一种嵌入式系统、尤其用于一种芯片卡的代码变换器的检验方法
CN1359491A (zh) * 1999-02-02 2002-07-17 太阳微系统公司 用于资源受限装置的面向对象的指令集
CN1687862A (zh) * 2005-06-16 2005-10-26 北京航空航天大学 智能卡安全环境的控制方法
CN1987789A (zh) * 2006-12-25 2007-06-27 北京飞天诚信科技有限公司 一种提高自定义程序运行速度的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1359491A (zh) * 1999-02-02 2002-07-17 太阳微系统公司 用于资源受限装置的面向对象的指令集
CN1316073A (zh) * 1999-07-01 2001-10-03 布尔Cp8公司 用于一种嵌入式系统、尤其用于一种芯片卡的代码变换器的检验方法
CN1687862A (zh) * 2005-06-16 2005-10-26 北京航空航天大学 智能卡安全环境的控制方法
CN1987789A (zh) * 2006-12-25 2007-06-27 北京飞天诚信科技有限公司 一种提高自定义程序运行速度的方法和装置

Also Published As

Publication number Publication date
FR2936327B1 (fr) 2014-04-11
CN101382892A (zh) 2009-03-11
FR2936327A1 (fr) 2010-03-26

Similar Documents

Publication Publication Date Title
US7900202B2 (en) Identification of software execution data
CN103970563B (zh) 动态加载安卓类的方法
Mahmoud Learning wireless java
KR20000052759A (ko) 마이크로컨트롤러를 이용한 고급 프로그래밍 언어 사용
CN101002174B (zh) 在便携式装置中加载具有面向对象的中间语言的软件的方法
CN1359491A (zh) 用于资源受限装置的面向对象的指令集
CN104657258B (zh) 一种向目标进程内注入Java字节码的方法及装置
CN114816417B (zh) 一种交叉编译方法、装置、计算设备及存储介质
CN108845839A (zh) 应用页面加载方法、装置及计算机可读存储介质
CN103443763A (zh) 包含对重写虚拟函数的调用的支持的isa桥接
US6964033B2 (en) Object band customization of Java runtime environments
Giguère Java 2 micro edition: professional developer's guide
CN101382892B (zh) 下载.Net程序的方法和装置
CN111078279A (zh) 字节码文件的处理方法、装置、设备及存储介质
CN106598804A (zh) 异常处理方法及装置
US8006242B2 (en) Identification of software configuration data
US20030005020A1 (en) Initialization of Java classes in Java virtual machine environments
CN106407751B (zh) 对可执行文件进行保护的方法和装置
CN114860202A (zh) 项目运行方法、装置、服务器及存储介质
CN105373414A (zh) 支持MIPS平台的Java虚拟机实现方法及装置
US20030018958A1 (en) Optional attribute generator for customized Java programming environments
CN112711435A (zh) 版本更新方法、版本更新装置、电子设备和存储介质
CN111949303A (zh) 升级包处理方法、装置、电子设备及存储介质
CN109284097A (zh) 实现复杂数据分析的方法、设备、系统及存储介质
CN113672238B (zh) 基于实时操作系统模块化管理的运行方法、装置及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant