导航:首页 > 源码编译 > net反编译又回来了

net反编译又回来了

发布时间:2022-07-21 15:36:46

❶ NET 反编译能够完全还原整个工程吗

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

❷ c#.net 反编译出来如图 麻烦帮我看一下 谢谢谢

.resources是嵌入程序的资源 转成.resx就可以直接导入项目
网络 'resource 转 resx 工具' 就有了

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

reflector没有那么强大的功能,想修改dll并重新生成,只有一个办法,自己新建一个项目,比着dll文件里的命名空间和类,建好对应的类,然后修改、编译。其实reflector也是用.net的反射功能,猜测代码,反编出的代码,不保证100%正确。修改的时候,遇到一些错误,大胆的改就是了。

❹ .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 编写

❺ 如何反编译NET的dll文件

在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的DLL文件被称为共享DLL文件。DLL文件一般被存放在C:\Windows\System目录下。 1、如何了解某应用程序使用哪些DLL文件 右键单击该应用程序并选择快捷菜单中的“快速查看”命令,在随后出现的“快速查看”窗口的“引入表”一栏中你将看到其使用DLL文件的情况。 2、如何知道DLL文件被几个程序使用 运行Regedit,进入HKEY_LOCAL_MACHINE\Software\Microsrft\Windows\Current-Version\SharedDlls子键查看,其右边窗口中就显示了所有DLL文件及其相关数据,其中数据右边小括号内的数字就说明了被几个程序使用,(2)表示被两个程序使用,(0)则表示无程序使用,可以将其删除。 3、如何解决DLL文件丢失的情况 有时在卸载文件时会提醒你删除某个DLL文件可能会影响其他应用程序的运行。所以当你卸载软件时,就有可能误删共享的DLL文件。一旦出现了丢失DLL文件的情况,如果你能确定其名称,可以在Sysbckup(系统备份文件夹)中找到该DLL文件,将其复制到System文件夹中。如果这样不行,在电脑启动时又总是出现“***dll文件丢失……”的提示框,你可以在“开始/运行”中运行Msconfig,进入系统配置实用程序对话框以后,单击选择“System.ini”标签,找出提示丢失的DLL文件,使其不被选中,这样开机时就不会出现错误提示了。反编译修改dll文件后重新.net重新生成dll文件更多

❻ .Net Reflector反编译工具如何将注释显示出来

显示不出来,编译的时候去掉了。只有查看源代码或者用VS等引用类库才能看到。

❼ ASP.NET反编译问题

不知道你是怎么反编译的,我得到的结果和你是完全不一样的。

首先ValidateUser是静态方法,又何来虚方法一说呢?其次反编译的到的代码如下:

publicstaticboolValidateUser(stringusername,stringpassword)
{
returnProvider.ValidateUser(username,password);
}

Provider是Membership中的一个静态属性。类型为MembershipProvider,该类型为抽象类,定义了Membership中的所有数据操作方法,针对不同的数据库类型需要实现相应的MembershipProvider,通过config文件将具体实现类注入到Membership类中。

.net中有针对SqlServer的SqlMembershipProvider默认实现。完全是.net实现,与C一点关系都没有。

❽ .net中反编译过后代码怎么组合(c#)

[CompilerGenerated] 这个标志已经告诉你这个是编译器生成的了,常规情况下你可以去掉这段代码并重试。

反编译过来的代码通常是无法直接编译的,需要你自己改写

❾ .net如何防反编译

.net是中间语言十分容易被反编译,通常都使用混淆作为一种加密手段。不过混淆不是真正防反编译,只不过反编译后代码难读懂而已,并且现在破解混淆的方式也比较多。所以真正要防反编译还是需要通过加密代码的方式。比如德国威步他们提供一种对.NET代码完全加密保护的方式来防止反编译的,曾经测试过用Reflector(.net反编译工具)反编译他们加密软件加密的.NET程序,的确完全无法看到源代码了。

❿ net反编译后发现代码混淆了,求助

混淆的很少有反混淆的,混淆就是把原来自己设置的有含义或无含义的属性方法修改成随机的,他又不明白人的意思,反混淆跟混淆差不多,就是反混淆产生的字段简单点。你查找替换下不就行了

阅读全文

与net反编译又回来了相关的资料

热点内容
喷油螺杆制冷压缩机 浏览:567
python员工信息登记表 浏览:367
高中美术pdf 浏览:151
java实现排列 浏览:503
javavector的用法 浏览:972
osi实现加密的三层 浏览:223
大众宝来原厂中控如何安装app 浏览:906
linux内核根文件系统 浏览:233
3d的命令面板不见了 浏览:518
武汉理工大学服务器ip地址 浏览:139
亚马逊云服务器登录 浏览:515
安卓手机如何进行文件处理 浏览:62
mysql执行系统命令 浏览:921
php支持curlhttps 浏览:134
新预算法责任 浏览:435
服务器如何处理5万人同时在线 浏览:242
哈夫曼编码数据压缩 浏览:415
锁定服务器是什么意思 浏览:376
场景检测算法 浏览:608
解压手机软件触屏 浏览:339