CLR探索系列:托管PE/COFF文件格式完全解剖

一直都想写篇文章来记录下我对托管PE文件的研究。无奈一直没有时间来敲下这篇文章。
在这篇文章里,我不去介绍windowsPE文件的具体格式,也不去介绍一个托管或者是非托管PE文件的加载运行方式,更加不去介绍一个PE文件里面的各个头部以及整体结构的各个部分的含义。

 

而是侧重于介绍,基于托管环境下,DotNet对基本的PE/CoFF文件格式做了那些扩充,CLR头部介绍,以及元数据和IL代码详析解析。主要侧重从静态文件的角度,来剖析DotNet下最基本的模块的结构,以及这样的结构如何适应一个托管的环境。

 

拟把PE文件格式里里外外从上到下一点一点的完全解剖一遍。

 

首先,还是从一段C#代码开始:


      
class Program

      {

        public const int conField=122*1119;

        public readonly int roField;

 

        private int _property;

        public int Property

        {

            get {return _property; }

            set{_property = value; }

        }

 

        static void Main (string[] args)

        {

            (new Program()).Method();

        }

 

        public void Method()

        {

            System.Console.ReadLine();

        }       

}

之所以定义这么多类型和字段,主要是为了在解说托管PE文件格式的时候,元数据表中相关的表都会出现相关记录。


待续未完,敬请关注。 ^_^

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值