将 .NET 源恢复到成熟的项目中

逆向工程 反编译 。网
2021-06-09 03:26:11

我想知道是否可以对任意非打包项目 .NET 进行完全反编译?如果否,应满足哪些条件才能使其成为可能?如果是,是否有工具可以自动执行此操作?我想知道的不是基本的反编译器,而是完整的项目恢复以再次使用 VS 编译结果的能力。


UPD1

然而试图仅将 dotPeek 应用于我的案例。不幸的是,输出看起来不像准备好的项目,但所有错误似乎都是可调试的。缺点是无法将dll和exe自动导出到一个项目中(需要穷人的编辑.sln文件)

UPD2

似乎 ILSpy 没有为一个/多个 .NET 程序集导出现成的解决方案的选项。也许有一些插件/扩展可以处理这个问题?如果找到的话会更新这个帖子。

4个回答

JetBrains dotPeek是一个免费的反编译器,可以选择将整个程序集反编译为 VS 项目:

更新:dnSpy 现在是我的 .net 反编译工具。它是开源的,可以导出到 Visual Studio 项目,并且调试器的工作原理非常棒。

https://github.com/0xd4d/dnSpy

原始答案:Telerik JustDecompile 也可以导出到 Visual Studio 项目。我最近使用了它,它对代码进行了非常小的修改。这是一个免费的工具。

http://www.telerik.com/products/decompiler.aspx

我想知道是否可以对任意非打包项目 .NET 进行完全反编译?

ILSpy这样的工具在反编译任意未打包的 .NET 二进制文件方面做得很好。

如果是,是否有工具可以自动执行此操作?

ILSpy 是开源的,因此您可以编写自己的代码来自动化反编译过程。

您是否尝试过以下工具:

对于 C#/VB