.Net反编译技术详解及4个反编译工具介绍_第1页
.Net反编译技术详解及4个反编译工具介绍_第2页
.Net反编译技术详解及4个反编译工具介绍_第3页
.Net反编译技术详解及4个反编译工具介绍_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.Net 反编译技术详解及 4 个反编译工具介绍 Net 反编译技术详解及 4 个反编译工具介绍什么是反编 译?高级语言源程序经过编译变成可执行文件,反编译就是 逆过程。即通过技术手段将可执行文件还原成源代码。此文 讲解如何将 .net(c# 、 F# 、 ) 编写的可执行文件还原成 c#代码。了解.net(c#)的编译过程C#源代码经过编译器的编 译之后,变成 MSIL 微软中间语言。其实也就是一个可执行 文件,也可以叫做程序集( .exe 文件)。注意:不是所有的 exe 文件都叫程序集,这个文件是由微软中间语言组成的才 叫程序集。当程序被执行时,微软中间语言(程序集)将被 CLR 翻译成

2、平台对应的 CPU 指令,然后交给 CPU 执行。 注意: CPU 的指令并不是相同的,不同平台的 CPU 指令可 能有比较大的区别。如: Intel 和 AMD 在开机或者关机的时 候 Intel 可能为 111 而 AMD 可能为 000 。不同型号的 CPU 指令也可能有区别。如:四核和双核。C#代码的编译过程如 下图所示:c#反编译过程:反编译过程即将.net程序集转换 成IL中间语言,然后再将IL转为c#代码。还原率接近90%。 反编译工具介绍 :说到 .net 反编译工具, 很多人第一反应都是 Reflector 这款神器。 但是我呢认为这是个垃圾软件, 为什么 呢,因为他收费啊,

3、而且没有什么特别出众的功能,所以本 文不加以介绍。本文主要介绍 ILSpy 、dnSpy 、JetBrains 和 Telerik JustDecompile 以及可直接修改程序集的 reflexil 插 件和脱壳反混淆的 de4Dot 插件。文本的示例程序 :特意用 c# 写了一个 checkMe 程序,用来展示说明以下各个工具的功 能。程序很简单,一个登陆框,输入对的密码即可显示主窗 体,显示一个“今日头条很伟大”的字样 .checkMe1 、 ILSpy:ILSpy 是一个开源免费的 .Net 反编译软件,基于 MIT 许可证发布。 作者在工作中使用最频繁的就是它。 ,ILSpy 是 为

4、了完全替代收费的 Reflector 而生,它是由 iCSharpCode 团队出品,这个团队开发了著名的 SharpDevelop 。 ILSpy 的使用和上面的 Reflector 完全类似,可以直接把 dll 、exe 拖放到左侧, 然后在右侧查看反编译以后的代码。 ilSpy 另外 ILSpy 支持插件,比如使用 Debugger 插件可以进行调试, 使用 reflexil 插件可以直接修改程序集。 支持类、函数、变量、 字符串等多种搜索。以上的示例程序,使用 ILSpy 查找登陆 密码如下: ilSpy2 、 dnSpydnSpy 是近几年的新秀,功能远 比 ILSpy 强大,甩 R

5、eflector 几条街。被汉化、破解、逆向 方面的人才奉为神器。软件自带调试和修改程序集的功能 dnSpydnsyp 功能菜单 dnspy 可直接调试修改程序集。可添 加修改类、方法、变量等。可操作合并程序集、禁用内存映 射。可在 16 进制编辑器中直接定位方法体、字段。也可以 16 进制编辑器中直接修改方法和字段。 更多强大的功能亲们 自己下载 dnspy 摸索体验一下下面我们使用 dnspy 来调试一 下我们刚刚的 checkMe 程序。选择 checkme ,点击转到入 口点。打一个断点 :然后点击启动, F10 、F11 可单步跟入再 测试下将主窗体显示的“今日头条很伟大”改成“很强

6、py 大”。首先定位到相关代码,并点击编辑方法:点击编译,然 后保存模块看下效果 3 、JetBrai n s dotPeekJetBrains 是捷克 的一家软件开发公司,出品了大量著名的开发工具,包括: IntelliJ IDEA 、PHPStorm 、ReSharper 、TeamCity 、YouTrack 等等,每一款产品都如雷贯耳。 dotPeek 是 JetBrains 开发 的一款 .Net 反编译工具, 是 .Net 工具套件中的一个相比于前 面几款工具来说, dotPeek 算比较小众的一款,它生成的代 码质量很高,它还会尝试到源代码服务器上抓取代码。 DotPeek 的导

7、航功能和快捷键非常便捷。 它还能精确查找符 号的使用,同时支持插件。 DotPeek 不能与 Visual Studio 集成。个人感觉它最大的特色就是 Visual Studio 风格,这对 于那些长期在 Visual Studio 下进行开发的人来说应该更亲 切一点。 JetBrai n s dotPeek4 、Telerik JustDecompileTelerik JustDecompile 是一个免费的 .NET 反编译器, 但是有商业化 支持,和抢到的抓包软件 Fiddler 是一家公司的产品。它生 成的代码质量也很高。它可以为反编译程序集得到的代码创 建一个项目。 JustDec

8、ompile 提供了健壮的查找功能,能够 支持全文查找和符号使用查找。它和 ILSpy 一样还有一个插 件系统,目前在 Telerik 的网站上有两个可用的扩展。 JustDecompile 不能与 Visual Studio 集成。 Telerik JustDecompile5 、de4Dot 和 reflexil 插件 de4dot 是一款 .net 脱壳反混淆的软件, 可独立运行, 也可作为插件集成到 ILSpy 和 JustDecompile 中。支持以下混淆器种类: Agile.NET (aka CliSecure)Babel.NETCodeFortCodeVeilCodeWallCryptoO bfuscatorDeepSea ObfuscatorDotfuscator.NET ReactorEazfuscator.NETGoliath.NETILProtectorMaxtoCod eMPRESSRummageSkater.NETSmartAssemblySpices.N etXenocode 由于我的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论