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

反编译net

发布时间: 2022-08-12 17:36:29

‘壹’ 如何反编译或者修改一个.net程序

既然这样的话,你可以使用反射,将别人的程序集加载到自己的程序里面,然后在自己的程序调用他的代码,用反射的好处是,你可以调用所有的私有函数,甚至可以调用函数名被混淆的函数。

‘贰’ .net如何防反编译

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

‘叁’ .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,反编译工具并不能完全彻底的编译他们。这些工具有助我们学习人家的代码,但绝对不是让你盗版人家的,他们也没这个能力。

‘伍’ 如何解决.NET程序容易被反编译的问题

阻止不了,任何一个程序都可以被反编译 当然了,并不是说反编译以后就是源代码 不知道你用的什么语言,在.net里,一般都是用Dotfuscator之类的工具进行混淆干扰

.NET有一种加密字节码的方式是通过hook住JIT编译器的入口来做的:字节码经过加密/混淆存在文件里,等被CLR加载了,某个方法要执行而需要被JIT编译时,hook住JIT编译器的入口拦截住这个编译请求,然后去把对应的字节码解密之后再传给JIT编译器。
这种做法基本上只能唬唬小朋友,知道了原理之后很好解,可以轻松的获取解密后的字节码然后扔给常规的反编译器去处理。但现实的说,大部分用户在“试图解密”方面都是小朋友,所以倒也算是一种可行方案。

‘陆’ net反编译问题

恩,这个是反编译的问题,你是反的飞net代码吧
如果您用vb.net然后在反vb.net就比较容易了
net自带反编器Reflector应该没什么问题,请查看您的Reflector版本和使用的
.net版本

‘柒’ 请教.NET反编译后,却无法编译成功,如何解决

代码需要进行一些修改,NET反编译后有些代码会变的,例如变量,和类型转换,而且反编译不一定能成功

‘捌’ 如何对.net的dll文件进行反编译

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

‘玖’ 如何反编译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文件更多

‘拾’ 如何反编译C#等net软件类库源代码

.Net 反编译软件,最着名的是 Reflector。但是最新版本收费现在打开Reflector的老版本要求强制更新到最新版本。所以,你一下在打开refector 会自动删除。那么大家可以使用 ILSpy。使用ILspy。

  • 1

    下载后的ILSPY 。

    打开EXE

  • 6

    毕竟.NET 和JAVA 属于中间语言,很好反编译。

热点内容
电脑如何局域网共享文件夹 发布:2024-05-19 01:25:01 浏览:67
手机存储越大性能越好吗 发布:2024-05-19 01:14:28 浏览:176
我的世界hyp服务器怎么玩 发布:2024-05-19 00:51:25 浏览:801
手机如何解压百度云文件 发布:2024-05-19 00:32:24 浏览:905
centos使用python 发布:2024-05-18 23:39:48 浏览:868
幻影天龙脚本 发布:2024-05-18 23:38:17 浏览:712
编程的py 发布:2024-05-18 23:36:22 浏览:75
安卓系统怎么改序列号 发布:2024-05-18 23:28:16 浏览:783
c语言中实数 发布:2024-05-18 23:21:03 浏览:895
服务器搭建题目 发布:2024-05-18 23:01:29 浏览:28