关于DLL文件的反编译问题
我用Reflector打开了一个DLL文件,也找到了我想修改的一个类的一个方法(class Global : HttpApplication的Application_Start方法),定义如下:
protected void Application_Start(object sender, EventArgs e)
{
HttpApplicationState contents = base.Application.Contents;
try
{
contents[ "ResourceManager "] = ResourceManager.CreateFileBasedResourceManager( "Strings ", base.Server.MapPath( "Resources/ "), null);
....
}
catch (Exception exception)
{
...
}
现在的问题是(因为我想做多语言界面):如何把这个函数给改下并重新编译,也就是说我只想改变这个DLL文件里的一个方法而已.
------解决方案--------------------学习
------解决方案--------------------顶
------解决方案--------------------支持
------解决方案--------------------感觉楼主是不是 将 反编译的 语言 选择成了c++了
------解决方案--------------------不是所有的DLL文件都支持反编译多语言的。就像在assembly 里边把property描述成两个方法get()和set(),如果assembly是从c++编译过来的, 那么同一property的set()和get()可能有不同的accessor, like : public get(); ,private set();. 但c#中property访问器必须有相同的accessor.这时候想把assebly反编译成c# code就会有问题。
同样的情况还很多,msdn 里有详细信息。
------解决方案--------------------用插件
Reflector.FileDisassembler
选择c#
生成代码后,再修改
如果人家混淆了,你就要费力了。。。。