PE Coff 文件解析器 C#实现

          PE是Portable Executable 的缩写, COFF是Common Object File Format 的缩写。前者指的是可移植执行体,例如DLL,EXE文件等;后者指的是通用目标文件格式,例如Vc/Vc++ 编译原文件生成的OBJ文件,还有LIB文件等。了解这两种格式可以为你揭示源码到指令执行的许多密秘。我想你看到这篇文章,就是冲着这些密秘来的。

          这两种格式,微软官方有个规范,但它只有英文版本.为了使此工具被更多的用户使用, PE/COFF数据结构的代码注释使用了SmartTech翻译的版本.并且编译后生成的文档被用作许多地方的提示信息,你可以参看 PECOFFLibrary.Comment.CommentsManager 的代 码.你可以与这位译者联系,他的邮箱为zhzhtst@163.com.非常感谢他的译作,否则可 能不会有此软件的出现.地址为http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx 。

         为更好的了解PE/COFF,我专门用C#写了个这些文件的解析器。可能对你也有帮助,不管三七二十一,先上图再说。

PE/COFF解析器

    

      大家可以看到,左边是PE/COFF文件的树状结构显示,PE/COFF文件内的大部份数据结构都能看到(有此数据结构,还没搞清楚,如属性证书^_^)。中间是一个十六进制的编辑器,右边是PE/COFF数据结构的属性编辑器。当在左边选中一个数据结构时,中间会先中它所在区域,右边可以编辑它的属性。

      没有使用除.Net Framework提供的库以外的第三方库,都用C#实现。

由于能力有限,时间有限,此程序还没有完全实现第二个功能.现在只能查看 exe,dll,obj三种文件,lib文件的解析遇到了个小问题,还没解决.还不能查看此类文件, 但都不支持编辑功能(其实能编辑,但不能保存).总体来说,此软件很粗糙,是个半成品或样品.后面再完善。由于很想与大家分享,就先拿出来出丑了。

     点这里下载源码

     

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值