reflector没有那么强大的功能,想修改dll并重新生成,只有一个办法,自己新建一个项目,比着dll文件里的命名空间和类,建好对应的类,然后修改、编译。其实reflector也是用.net的反射功能,猜测代码,反编出的代码,不保证100%正确。修改的时候,遇到一些错误,大胆的改就是了。
反编译之前要先检查文件是否被混淆加密了,如果没有那就要恭喜你了。
使用reflector反编译dll源文件一定要安装FileGenerator的插件,安装好后就可以然后直接生成vs2005的工程了,然后用vs2005打开工程,修改反编译代码中异常的代码,加入编译环境所需的dll动态库,编译即可。
---------------------------------------------------------------------------------------------------------------
举例来说:
1、比如inforeader.get_item("name").ToString(),其实应该是inforeader.["name"].ToString(),没办法,手工改吧
2、还有,他还会报方法参数问题的错误,比如aa.Compare("helloworld","d",5),在5的未知显示参数错误,原来是本身这个位置的参数是一个枚举类型,反编译不知什么原因变成了第五个,于是改成枚举StringComparison.OrdinalIgnoreCase
3、。。。。。。
------------------------------
如有需要可与本人联系。
首先,作为一个程序员,不建议这么做。
其次,如果你要这么做,那你也要注意,同行也会这样对你的。
最后,98%的情况,不能直接编译,而找到2%的错误,并修正他会花费你99%的时间。
重新建一个项目,把对应的文件放进去,该引用的类引用,保证没错,就可以编译了。。。