网站代码反编译,反编译网页

http://www.itjxue.com  2023-01-17 09:16  来源:未知  点击次数: 

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

如何反编译ASP.NET发布后的网站文件

事实上,不管你用Reflector或ILSpy都不能完全的将dll反编译成和编译前一模一样的。这些反编译工具由助于你了解人家dll的内部结构,但不能说拿别人编译后的项目,你然后反编译一下dll就可以继续二次开发了。你要知道反编译工具都是第三方写的,不是微软官方的,反编译工具是根据一些既有规则试图将dll内部的结构猜出来,当然这里用猜也不恰当,但你可以这么理解。所以对于复杂的dll,反编译工具并不能完全彻底的编译他们。这些工具有助我们学习人家的代码,但绝对不是让你盗版人家的,他们也没这个能力。

反编译什么意思,具体该怎么用?

反编译:高级语言源程序经过编译变成可执行文件,反编译就是逆过程。计算机软件逆向工程,又称计算机软件恢复工程,是指对其他软件的目标程序(如可执行程序)进行“逆向分析和研究”,从而推导出设计思想、原理、结构、算法、处理过程、操作方法等要素,等被其他软件产品使用,在某些特定情况下可能会衍生出源代码。反编译可以作为开发软件时的参考,也可以直接用于软件产品中。

扩展资料:

如果编译过程中发现源程序有错误,编译程序应报告错误的性质和错误的发生的地点,并且将错误所造成的影响限制在尽可能小的范围内,使得源程序的其余部分能继续被编译下去,有些编译程序还能自动纠正错误,这些工作由错误处理程序完成。需要注意的是,一般上编译器只做语法检查和最简单的语义检查,而不检查程序的逻辑。

参考资料来源:百度百科-编译

参考资料来源:百度百科-反编译

怎么把IE打开的html代码反编译成java

这是不可能的。

所谓的反编译软件,是指把.class文件反编译成java文件。

为什么HTML代码不可能转为java, 因为就算一个完全相同的html代码,可以用很多不同的写法,不同的模式,不同的技术手段来实现。你如果要反编译,仅仅凭借一点点html代码,不可能透出实现这个web的java(包括jsp)代码。

java代码基本要求有模型(Model),视图(View)和控制Controller(即MVC模式)。 HTML代码显示在客户端,只是静态的排版显示网页信息(如果是引用其他目录的js文件,甚至连javascript代码都看不到),最多只能包含视图(View), 不可能显示后台动态的东西。

其实你只要简单想象一下,如果通过html都能反编译出源代码,那么所有的web项目都会遭遇代码泄露的危险,这是不可能的。

与其想着怎么得到源代码,不如自己多写点代码,练练手,这才能真正的提高。

c#dll网页反编译源码全吗

全。c#dll的反编译源码只能在网页中按f12进行反编译,是获取反编译源码的唯一途径,也是最全的。反编译也称为计算机软件还原工程,是指通过对他人软件的目标程序(比如可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。

(责任编辑:IT教学网)

更多

推荐网络媒体文章