日期:2014-05-18  浏览次数:20444 次

反编译得到的代码再编译无法再调用
本人想汉化一个控件.
在网上找到了.NET反编译工具Reflector及插件.
http://blog.csdn.net/JavaProgramers/archive/2006/10/31/1358635.aspx
依照上面的方法做了.然后再用vs2005打开,能够通过编译,生成**.dll(跟原先的一样名称).然后用它替代原有的**.dll.  
在调用它的工程里面没有调用成功.

本菜鸟不知错误在哪里,网上说反编译后,只有少有的变量不同.那这个怎么办呢?
是不是用原有的方法来用它,就没法用了?

------解决方案--------------------
程序集是不是强命名了?如果是就没有办法修改了
------解决方案--------------------
和强名称没有关系.现在的好多assembly都加了代码混淆,这样就算反编译出来也基本没用。按你说的如果你反编译后能成功编译,你试着调试一下吧。
------解决方案--------------------
题外话,反编译的代码最好只用于学习目的,如果你想汉化并公布的话,还是考虑一下版权问题。
------解决方案--------------------
反编译 后 能保证 编译通过
但是
并不能 保证 与原 dll文件的 函数列表中的函数名相同

.net 编译以后 特别是使用混淆器以后 函数名很多都改变了

再次编译 应该会出现你调用不到相应的库函数.或者其他一些如类型 接口等.
------解决方案--------------------
反编译 后不一定能编译。你自己弄清楚人家逻辑,自己写重新写一遍吧