软件逆向,是一项技术活,有很多工具可以帮助逆向者们更好的分析和调试代码。根据不同的类型,介绍几种常用的工具。

反编译工具介绍

1. Dnspy

dnSpy 是一个调试器和 .NET 程序集编辑器。即使您没有任何可用的源代码,您也可以使用它来编辑和调试程序集。主要特点:

  • 调试 .NET 和 Unity 程序集
  • 编辑 .NET 和 Unity 程序集

dnSpy 长着一身 Visual Studio 一样的外观,调试的时候给你熟悉的感觉。我们只需要讲我们需要调试或修改的程序集拖入左侧的程序集列表中即可(它会自动为我们把此程序集依赖的程序集也添加进来)

2. ILSpy

ILSpy 是开源的 .NET 程序集浏览器和反编译器。

除了 WPF UI ILSpy(可通过 Releases 下载,另见插件),以下其他前端可用:

3. Roslyn

Roslyn 是 C# 和 Visual Basic 编译器的开源实现,带有用于构建代码分析工具的 API 界面。微软 2012-06-06 向 CTP 社区发布了 Roslyn 编译器的最新版本,它主要用于 Visual Basic 和 C# 代码,可工作于 Visual Studio 2010 SP1 和最新的 Visual Studio 2011 测试版。这是一个更为开放式的编译器,与以往不透明的编译过程不同,开发者可以在编译过程中访问和分析编译数据,这也是微软在  BUILD 会议上展示的“Compiler-as-a-Service”概念。目前该编译器的 CTP 版本已经可以下载。