适用于 Mac 或 Linux 的 .NET 反编译器

问题描述 投票:0回答:5

我需要反编译一个用.NET编写的小应用程序并将其转换为C++。我没有安装 Windows,但我知道有许多 .NET 反编译器适用于 Windows。由于我只有 Mac 和 Linux,并且不想安装 Windows 只是为了能够运行反编译器,所以我想知道是否有任何easy方法可以在 Mac 或 Linux 中反编译 .NET 应用程序?我搜索了一下,没有找到任何东西。

c# .net linux macos decompiling
5个回答
19
投票

由于 .NET 的大部分部分都是开源的,因此 ILSpy 也适用于 Linux 和 Mac。

来自项目 GitHub 页面:

反编译器前端

除了 WPF UI ILSpy(可通过发布下载,另请参阅 插件),以下其他前端可用:

  • Visual Studio 2017/2019 扩展市场
  • Visual Studio 代码扩展存储库 |市场
  • ICSharpCode.Decompiler NuGet 适用于您自己的项目
  • 基于 Avalonia 的 Linux/Mac/Windows ILSpy UI - 查看 https://github.com/icsharpcode/AvaloniaILSpy
  • Linux/Mac/Windows 命令行客户端 - 查看此存储库中的 ICSharpCode.Decompiler.Console
  • 此存储库中的 Linux/Mac/Windows PowerShell cmdlet

由于 VS Code 适用于 Linux 和 Mac,因此该前端也应该适用于这些操作系统。命令行客户端也应该可以工作。

此外,JetBrains 还有一个新的 .NET IDE,Rider。它适用于 Linux 和 Mac。 Rider 有一个内置的反编译器。不幸的是,这个内置编译器 dotpeek 仅适用于 Windows。但根据评论,自 2023 年夏季起,dotpeek 可在 Mac 上运行。

另一种选择是使用 mono decompiler,来自 monoproject 的工具。尝试使用它。请注意,这是 MonoDevelop 中的插件。


14
投票

有一个使用 Avalonia 的 ILSpy 变体/分支,可作为打包的 MacOS 应用程序使用。

https://github.com/icsharpcode/AvaloniaILSpy/releases下载

页面上有将软件包(未签名)列入白名单的说明,例如:


0
投票

Mono 中的 IL 命令行反汇编器中有 monodis。 即使您已经使用 .NET 5 或 6,也可以在 Linux 和 macOS 上使用它。 但是你必须安装 Mono。


0
投票

还有另一个免费选项 - CodemerxDecompile。它是 JustDecompile 的精神继承者 - 基于同一引擎的改进版本构建,支持最新的框架和功能。它也适用于 Windows、Linux 和 MacOS。

披露:我是 CodemerxDecompile 背后团队的一员。


-4
投票

您可以使用 Visual Studio for Mac 中的内置工具反编译 EXE [如果您使用的是 OSX]。


这是我写的逐步演练帖子

© www.soinside.com 2019 - 2024. All rights reserved.