解析元数据

           问题:

                         1. 当我们运行一个应用程序时 (如 : Program.exe)时,它里面包含了什么?

                         2.当我们第一次去接触CLR的时候,我们听到的是 “元数据” ,那么它到底在哪里,它是什么呢 ?

                  

 

 

                                 一个托管 的 PE文件:  主要有四个部分构成 :{  PE32(+)头  , CLR头,元数据 以及 IL  }。

                                                                 1. PE32(+)头 : 是windows要求的标准信息。

                                                                 2. CRL头:是一个那些需要CLR的模块(托管模块)所特有的信息块 ,

                     在此信息块中包含(

                             模块在生成所面向CLR的major(主)和minor(次)版本号; 

                             一些标志(flag);

                             一个MethodDef token: 在这里面指定了模块的入口方法,但前提该模块必须是一个GUI                              或CUI的执行体;

                             还有一个可选的强名称数字签名 ;

                              及模块内部特定元数据表的大小和偏移量。 

                          

                             );

                 3. 元数据: 我试着回答第二问, 元数据其实就是一个二进制数据块,有几个表构成。

                     我们可以 把这几个一一分成三个分类:

                         定义表(definition table):

                         引用表(reference table);

                                                                                                   清单表(manifest  table):

                                                                                  

                         

                                 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值