繁体   English   中英

我如何以编程方式(使用反射?)更改方法体并将我的更改保存回磁盘

[英]How can I programatically (using reflection?) change a method body and save my changes back to disk

我可以使用反射轻松地获得方法体

Type type = assembly.GetType("Lorem.Ipsum.Dolor.Sit");
MethodInfo methodInfo = type.GetMethod("Amet");
MethodBody methodBody = methodInfo.GetMethodBody();

如何以编程方式更改方法体并将更改保存回磁盘?

AFAIK,你做不到。

通过反射,您修改了一个内存中的对象,该对象是由在运行时由CLR加载和优化的二进制文件生成的。

编辑

这个问题有更多的信息。

修改现有的.NET程序集

另一个好的lib: https//bitbucket.org/0xd4d/dnlib

与Mono.Cecil相比,处理混淆的程序集要好得多。

没有第三方库,你不能这样做。 看看: http//www.mono-project.com/Cecil

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM