Reflexil特色
可以改继承类,添加方法, 字段,事件,“replace all with code"功能也很强,可以C#的代码片段直接替换Method里的功能。另外,子类里调用父类的方法,在msil里这个是直接用”父类::方法名",而且似乎非virtual也是调用callvirt 命令。
还有,签名的话,它会给你选是保留原来的,覆盖pfx,去除签名。我选保留原来的,不过这个是我自己做的程序,签名在电脑里注册过,不知道改别人的签名dll会不会有问题。
最后还顺便玩了下,SimpleAssemblyExplorer,也有些特色,不过似乎不能改继承类,添加方法, 字段,事件。代码到可以是重别的dll里倒入。
修改方法
下载Reflector插件Reflexil,并添加到Relector中。在左边的对象树中打开需要修改的类,再在Reflexil中找到需要修改的地方,直接修改或删除就可以了,如下图
最后选择在对象树中选择DLL,并在Reflexil的Save As一下就可以了。
需要注意一下的是,一些DLL拥有强名称,重新应用的时候可能会出现错误,这时需要在Save As的时候去除一下强名称就可以了。