当前位置:首页 » 编程软件 » netdll反编译

netdll反编译

发布时间: 2022-04-25 22:26:59

A. ASP.NET如何把dll文件反编译成.aspx.cs文件

你在你的Solution中新建一个工程,然后把a.cs,b.cs,c.cs添加到这个工程里面(我建议你新建类,然后把类的代码Copy过去,这样即使命名空间不同也不会造成混乱)
然后再你引用的工程里AddReference->Project->你新建的这个工程,就可以调用了.
这样如果你需要修改的话直接在IDE里修改,可以实时看到效果

B. net dll 混肴后怎么反编译出C#代码

混淆的目的本来就是要加密源代码,增加反编译阅读的难度。
你反编译出来的代码,虽然可能能够编译通过。但是面对一些小学生式的命名及杂乱的方法和类的调用,修改的难度是比较大的。 这本来就是混淆代码的目的。

C. .net 写的程序的DLL如何才能真正的无法反编译

先用混淆器混淆,然后用加壳软件加壳

没有什么能做到真正的无法反编译,你所做的只能是增加反编译工作量和难度,迫使别人放弃,哈哈

D. 如何反编译ASP.net网站打包后的dll,然后整合生成的cs文件

你用什么反编译?如果是Reflector或ILSpy,应该会创建一个Csproj文件,用VisualStudio可以打开这个项目,然后编译就ok了

E. .NET 编译出来的DLL文件,如何才能不被反编译

1.有那种代码混乱器,其实也就是改改类名字等,常用的有
DotFuscator, .NET Reactor, xenocode 。。。你可以自己搜索下载了
2.当代码量很大的时候,反编译去读MSIL的代码也是很辛苦的,工程量很大
3.一般.net写的程序都是基于web的,放在服务器上,WebService,所以盗版破解也显得不是那么有意义了。。。

友情提醒:事先备份好你的代码!

F. 请高手指点C#NET怎么修改DLL文件

dll文件是改不了的。
比如写一个类库 Hello
里面有一个类 Class1
类中有一个方法 public string HelloWorld(string str)
这个方法返回 "Hello " + str

你生成之后,这个类库项目就会成一个 Hello.dll
你就可以引用这个dll,调用的时候,也可以调用 HelloWorld方法,
但是你是改不了里面的任何代码的。

因为dll只是你写的这个类库最终生成的文件,其他的东西都没有, 能看到的就是一个接口,一个返回类型。源代码是没有的。

C#可以使用反编译程序来进行反编译,相当于逆向编译出源代码, 但是很不稳定,而且错误率比较高,越复杂的dll ,反编译出来越容易有问题。
所以除非万不得已,一般DLL都是不会去反编译再修改的。

G. .net网页发布后进行反编译

.Net有两个很好的工具可以反编译.NET程序集:Salamander .Net Decomplier和Reflector.Net ,Salamander .Net Decomplier功能非常强大,可以反编译混淆过的.NE代码,也可以直接将程序集中的类反编译成一个文件,但是它是需要money的,试用版提供的功能又非常有限。相对而言呢,Reflector.net 是完全免费的,但是它只能一个方法一个方法的查看,不能将程序集直接反编译成一个文件,这样也比较麻烦,好就好在它支持插件add-in功能。针对它的缺点,很多人开发了很好用的插件,可以将整个程序集的代码反编译成源文件,比如说Reflector.FileDisassembler 、Reflector.FileGenerator 都是很好用的。

另外再提供一些Reflector的相关插件下载,enjoy!!!!

插件FileGenerator 使用方法:
最开始下载了FileGenerator插件不知如何使用,后来经过摸索,还是学会使用了,所以拿来和大家分享。

FileGenerator插件的作用是:根据dll文件,把里面的源文件导出成文件,导出来的文件除了没有注释,变量名也变了,其它的可谓是没有 差别。对于一些比较好的控件,如果不是开源的,完全可以导出成文件,然后自己加上注释,少许修改,很好的利用起来。(不开源的dll,用起来也不放心啊)

先根据上面的地址下载FileGenerator并解压缩,然后运行Reflector.exe,然后点击View->Add- Ins...,弹出一个窗口,然后点击Add->选择FileGenerator里面的唯一一个dll文件: "FileGenerator.dll",点击close.
然后回到Reflector窗口,Tool->Generator File(s)... 右边就出现了插件的窗口,选中左边的dll文件,点击右边的导出文件,源代码就全部导出来了,真是爽啊!

使用.NET Reflector插件FileDisassembler还原源码

.NET Reflector,它是一个类浏览器和反编译器,可以分析程序集并向您展示它的所有秘密。.NET 框架向全世界引入了可用来分析任何基于 .NET 的代码(无论它是单个类还是完整的程序集)的反射概念。反射还可以用来检索有关特定程序集中包含的各种类、方法和属性的信息。使用 .NET Reflector,您可以浏览程序集的类和方法,可以分析由这些类和方法生成的 Microsoft 中间语言 (MSIL),并且可以反编译这些类和方法并查看 C# 或 Visual Basic ?.NET 中的等价类和方法。

为了演示 .NET Reflector 的工作方式,我将加载和分析前面已经显示的 NUnitExample 程序集。下图显示了 .NET Reflector 中加载的该程序集。

在 .NET Reflector 内部,有各种可用来进一步分析该程序集的工具。要查看构成某个方法的 MSIL,请单击该方法并从菜单中选择 Disassembler。

除了能够查看 MSIL 以外,您还可以通过选择 Tools 菜单下的 Decompiler 来查看该方法的 C# 形式。通过在 Languages 菜单下更改您的选择,您还可以查看该方法被反编译到 Visual Basic .NET 或 Delphi 以后的形式。以下为 .NET Reflector 生成的代码:

public void HashtableAddTest(){
Hashtable hashtable1;
hashtable1 = new Hashtable();
hashtable1.Add("Key1", "value1");
hashtable1.Add("Key2", "value2");
Assert.AreEqual("value1", hashtable1["Key1"], "Wrong object returned!");
Assert.AreEqual("value2", hashtable1["Key2"], "Wrong object returned!");
}

前面的代码看起来非常像我为该方法实际编写的代码。以下为该程序集中的实际代码:

public void HashtableAddTest(){
Hashtable ht = new Hashtable();
ht.Add("Key1", "value1");
ht.Add("Key2", "value2");
Assert.AreEqual("value1", ht["Key1"], "Wrong object returned!");
Assert.AreEqual("value2", ht["Key2"], "Wrong object returned!");
}

尽管上述代码中存在一些小的差异,但它们在功能上是完全相同的。

虽然该示例是一种显示实际代码与反编译代码之间对比的好方法,但在我看来,它并不代表 .NET Reflector 所具有的最佳用途 — 分析 .NET 框架程序集和方法。.NET 框架提供了许多执行类似操作的不同方法。例如,如果您需要从 XML 中读取一组数据,则存在多种使用 XmlDocument、XPathNavigator 或 XmlReader 完成该工作的不同方法。通过使用 .NET Reflector,您可以查看 Microsoft 在编写数据集的 ReadXml 方法时使用了什么,或者查看他们在从配置文件读取数据时做了哪些工作。.NET Reflector 还是一个了解以下最佳实施策略的优秀方法:创建诸如 HttpHandlers 或配置处理程序之类的对象,因为您可以了解到 Microsoft 工作组实际上是如何在框架中生成这些对象的。

.NET Reflector 由 Lutz Roeder 编写

H. 如何对.net的dll文件进行反编译

A、去下个XX.dll,下好后打开系统盘,找到windows文件夹,打开后找到system32打开,把XX.dlll放进去。这个DLL上网络一下就有得下的了。
B、打开腾讯电脑管家的电脑诊所之后,搜缺失的dll文件,会自动出来,点立即修复。重启电脑后就可以了。

I. 反编译修改dll文件后重新.net重新生成dll文件

反编译之前要先检查文件是否被混淆加密了,如果没有那就要恭喜你了。
使用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、。。。。。。

------------------------------
如有需要可与本人联系。

热点内容
sql变量类型 发布:2025-04-16 13:37:36 浏览:893
linux内存过高 发布:2025-04-16 13:32:25 浏览:661
改用linux 发布:2025-04-16 13:30:49 浏览:164
逍遥安卓目录在哪里 发布:2025-04-16 13:15:31 浏览:951
论文编译用哪个符号 发布:2025-04-16 13:09:46 浏览:721
数据库图表 发布:2025-04-16 13:09:46 浏览:307
安卓系统图库文件夹是哪个 发布:2025-04-16 12:57:39 浏览:107
银行卡加密码失败是什么意思 发布:2025-04-16 12:55:58 浏览:378
服务器租用什么原因 发布:2025-04-16 12:55:10 浏览:695
零起点python大数据 发布:2025-04-16 12:55:00 浏览:318