转自:https://blog.csdn.net/kongwei521/article/details/54927689

在项目开发过程中,估计也有人和我遇到过同样的经历:运行环境出现了重大Bug亟需解决、或者由于电脑挂了、旧代码覆盖新代码,而在这种情况下,我们不能直接在当前的代码中修改这个Bug然后发布,这会导致更严重的问题,因为相当于版本回退了。还有电脑挂了代码整个都没有,这种情况下 我们只能只能利用一些逆向的技巧和工具了 来解析在服务器发布好的dll。那么你只是单纯的修改一个.Net程序集中的某个方法或功能,而且这个程序集还是出自于你自己或你所在团队之手,这实在是一件非常容易的事情,这和破解别人的程序完全不同,你不会遇到无法破解的加密算法,也不会遇到让人恶心的加壳混淆。所以我要把用过的工具一个个的列出来总结一下。

推荐四大发编译工具

1:.Net Reflector  【收费】

一提起.Net逆向,其实很多人第一反应都是Reflector这款神器,这一方面是由于Reflector良好的用户体验和强大的插件功能,另一方面要归功于Reflector堪称完美的智能反编译能力,使用它不仅能看到反编译后的IL源码甚至能直接反编译出C#源码,而且和编写时的代码几无二致,如果需要还可以直接另存为工程文件用Visual Studio打开,不过现在已经收费了,所以老司机都选择破解版,有钱人选择正版。 破解地址就不在这里放出,大家自行搜索.

使用方法:可以直接把dll、exe拖放到左侧,或者文件选择选择

官方网址:http://www.red-gate.com/products/dotnet-development/reflector/

2:ILSpy/dnSpy 【免费】

ILSpy是唯一免费且开源的.NET反编译器,它基于MIT许可证发布。ILSpy的代码生成和语法高亮功能做的非常好。对于反编译的程序集,它既可以将其保存在一个文件中,也可以为所有文件创建一个项目。ILSpy是一个独立的工具,没有Visual Studio集成。,ILSpy 是为了完全替代收费的Reflector而生,它是由 iCSharpCode 团队出品,这个团队开发了著名的 SharpDevelop 。ILSpy 完全开源,ILSpy的使用和上面的Reflector完全类似,可以直接把dll、exe拖放到左侧,或者文件选择选择。

官方网址:http://ilspy.net/

ILSPY还有一款同门师弟,感觉比ILSPY还强大

dnSpy is a .NET assembly editor, decompiler, and debugger forked from ILSpy

* Assembly editor
* Decompiler
* Debugger
* Tabs and tab groups
* Themes (blue, dark, light and high contrast)

If you want to help, fork the project and send pull requests.

Latest release: https://github.com/0xd4d/dnSpy/releases

Latest build: https://ci.appveyor.com/project/0xd4d/dnspy/build/artifacts

3:JetBrains dotPeek【免费】

JetBrains是捷克的一家软件开发公司,出品了大量著名的开发工具,包括:IntelliJ IDEA、PHPStorm、ReSharper、TeamCity、YouTrack等等,每一款产品都如雷贯耳。dotPeek 是 JetBrains 开发的一款.Net反编译工具,是.Net工具套件中的一个相比于前面几款工具来说,dotPeek算比较小众的一款,它生成的代码质量很高,它还会尝试到源代码服务器上抓取代码。DotPeek的导航功能和快捷键非常便捷。它还能精确查找符号的使用,同时支持插件。DotPeek不能与Visual Studio集成。个人感觉它最大的特色就是Visual Studio风格,这对于那些长期在Visual Studio下进行开发的人来说应该更亲切一点。

官方网址:http://www.jetbrains.com/decompiler/

4:Telerik JustDecompile 【需要输入信息安装】不喜欢这个就卸载了

Telerik JustDecompile是一个免费的.NET反编译器,但是有商业化支持。它生成的代码质量也很高。它可以为反编译程序集得到的代码创建一个项目。JustDecompile提供了健壮的查找功能,能够支持全文查找和符号使用查找。它还有一个插件系统,目前在Telerik的网站上有两个可用的扩展。JustDecompile不能与Visual Studio集成。

官方网址:http://www.telerik.com/products/decompiler.aspx

总结:

使用舒服些如下:

dnSPY>ILSPY>Net Reflector>doPeek

下面是一个dll里面的方法反编译后的对比:

推荐.Net、C# 逆向反编译四大工具利器的更多相关文章

  1. 推荐 Net C# 逆向反编译四大工具利器

    参考:https://blog.csdn.net/kongwei521/article/details/54927689/

  2. 《Android逆向反编译代码注入》 - 逆向安全入门必看视频教程

      适合人群: Android开发人员.逆向反编译开发人员.以及对Android逆向安全感兴趣的朋友. 视频地址: 51CTO学院:https://edu.51cto.com/course/24485 ...

  3. 推荐一款C#反编译软件(开源)

    大二的时候老师要求做过一个小项目,大概4个人左右一组.当时交流不是特别到位,项目在一个同学的电脑上建成了就一直在他的电脑上(所以好东西不要烂在你的硬盘里),也不知道什么源码管理,可悲到项目做完我还没有 ...

  4. android编译/反编译常用工具及项目依赖关系

    项目依赖关系 apktool:依赖smali/baksmali,XML部分 AXMLPrinter2 JEB:dx 工具依赖 AOSP , 反编译dex 依赖 apktool dex2jar:依赖 A ...

  5. android 反编译apktool工具

    下载地址:http://pan.baidu.com/s/1bnHANtd 1.将编译的*.apk放在apktool的根目录下:2.双击“解压软件.bat”后,会提示完成:这样就反编译成功以:3.查看反 ...

  6. [Android Security] 反编译常用工具

    copy : https://down.52pojie.cn/Tools/Disassemblers/

  7. 不错位的java .class 反编译工具推荐

    我们经常会反编译看一些class文件,但是反编译出来的文件里面会有很多杂乱的东西 一直以来都是用的idea来反编译的,只要把class文件往里面一拖就行了 这么用没问题,用来看看源码什么的都OK 但是 ...

  8. - 反编译 AndroidKiller 逆向 实践案例 MD

    目录 目录 反编译 AndroidKiller 逆向 实践案例 MD AndroidKiller 简介 插件升级 基本使用 实践案例 修改清单文件 打印 debug 级别的日志 方式一:直接代理 Lo ...

  9. Java Jar源码反编译工具那家强

    本文介绍下Java Jar常见的反编译工具,并给出使用感受. 反编译JAR能干什么: 排查问题.分析商业软件代码逻辑,学习优秀的源码思路. JD-GUI 下载地址:http://java-decomp ...

随机推荐

  1. Django学习笔记(1)--第一个项目

    操作系统:Windows Python版本:python3.6 前置工作: pip install virtualenvwrapper #安装虚拟环境管理包 1.创建虚拟环境 mkvirtualenv ...

  2. springfox-swagger之swagger-bootstrap-ui

    swagger-bootstrap-ui是国内的一个swagger开源项目,从发起到现在已经有三年了.初次体验了一下,觉得还是挺不错的,就如当初使用mybatis-plus那样,因为有了mybatis ...

  3. 关于win7+VS2017环境下的opencv-contirb配置的一个坑

    问题出现背景: 由于课题需要用到SURF detector, 我依照网上的一下教程,把opencv-contrib的配置了一遍.但是,当我写了一个小demo来测试模块是否能正常使用的时候,程序能正常编 ...

  4. 二、PHP基本语法 - PHP零基础快速入门

    我们日常生活中,有些人使用普通话交流,有些人使用家乡话.类比到计算机的世界里,PHP 是人与计算机沟通的语言之一. 既然是语言,那就必须遵循一定的语法规则.譬如 A 向 B 表白,A 会对 B 说:& ...

  5. 封装LocalStorage.js

    之前使用vue开发的项目频繁使用到localStorage,封装了一下 localStorage.js文件代码如下: let obj = {}; /** * putLocalStorage 把数据放到 ...

  6. syntax error near unexpected token `$'\r''

    这种情况发生的原因是因为你所处理的文件换行符是dos格式的"\r\n"可以使用cat -v 文件名 来查看换行符是否是,如果是上述的,则行结尾会是^m需要转换成linux/unix ...

  7. bugku web web3

    flag就在这里快来找找吧http://123.206.87.240:8002/web3/ 点进去这个页面可以看到不断地有提示 flag就在这里 来找找吧 那就找一找哇 在source中可以找到一行注 ...

  8. POJ 1015 Jury Compromise (算竞进阶习题)

    01背包 我们对于这类选或者不选的模型应该先思考能否用01背包来解. 毫无疑问物体的价值可以看成最大的d+p值,那么体积呢?题目的另一个限制条件是d-p的和的绝对值最小,这启发我们把每个物体的d-p的 ...

  9. vue+typescript基础练习

    环境 win10 node -v 8.9.3 vue-cli 3.4 typescript 3.1.5 编辑器 vscode 目标 使用vuecli工具,建立一个项目,使用typescript.并实现 ...

  10. My Todo-List

    有些事情要明着写出来才会去干. 这里是一个不断更新的Todo-List,大致按照重要度和列出时间排序. 主要着眼短期计划,其中的大部分事务应该在一周内解决,争取不做一只鸽子. 填好模板库的坑. 学习树 ...