我希望我的应用程序能够修改.net可执行文件的元数据。是否有.net类来执行此操作,还是必须解析可执行文件? (罗斯林可以在这里有任何帮助吗?)
如果我需要解析exe - 它的格式是什么?我搜索过,但只提出了this Wikipedia entry。
答案 0 :(得分:2)
没有允许您重写IL的.NET类。
您必须在使用Mono.Cecil或阅读CLR via C#之间进行选择,然后编写自己的IL重写器。 (在技术上可行,毕竟JB Evain几乎完全由他自己写了Mono.Cecil。)
Mono.Cecil的源代码在Github完整提供。
Mono.Cecil的基础知识可能会在its wiki中找到。
答案 1 :(得分:1)
如果我需要解析exe - 它的格式是什么?
格式在ECMA 335中指定,其中描述了Common Language Infrastructure。但它超过400页,你不想自己为所有这些实现读者/作者。如果你真的这样做,你应该从the section that describes the file header (§II.25)开始。