1.Mono.Cecil
鼎鼎大名的 Mono.Cecil 不需要多介绍了,不会使用的人可以百度一下,博客园里也有多篇相关介绍的文章。
主页地址: http://www.mono-project.com/Cecil
2.Mono.PEToolkit
应该是 Mono.Cecil 的前身,没有实现 Mono.Cecil 那么强大的功能,但是用做读取 .Net PE 格式文件已经足够了。
程序不好找,刚才在 SVN 中也没找到,只好将自己以前从 SVN 下回来的版本传上来,使用很简单,
1 Mono.PEToolkit.Image img = new Mono.PEToolkit.Image(“DotNet PE 文件路径”); 2 img.Open(); 3 img.ReadHeaders(); 4 // 具体的操作 5 img.Close();
3.Asmex
较早的一款查看 .Net PE 格式的工具,名气比较大,并且开源,所以后期的不少工具都是基于这份源码在做。但是代码里有些 Bug,作者也一直没有修复。
具体怎么使用就不写了,反正有源码。
作者主页貌似关了,还好在 CodeProject 的帖子还在。
http://dotnet.itwaka.com/asp/75466.html
4..Net PE File Format Library
一个越南 .Net 爱好者(Rongchaua)写的一款用于读取 .Net PE 格式的工具,写的比较简单,实现了大部分常见的功能,但是元数据流那部分貌似没继续写下去。另外,导入表也没做。
作者博客: http://rongchaua.net/blog/net-pe-file-format-library/
5.PE-file Reader Writer API (PERWAPI)
无意中在 CodePlex 上找到的,有兴趣的自己研究研究吧。
主页: http://perwapi.codeplex.com/
6.NetPE
同样也是 CodePlex 上的一个项目。功能还不错。
主页: http://netpe.codeplex.com/
PS: 万变不离其中,以上的任何一款都是基于 ECMA-335 标准来完成的,所以建议最好结合 ECMA-335 文档来进行查看。另外,建议大家再下载一个 CFF Explorer,配合 ECMA-335 使用,加快对 .Net PE 的理解。