.NET decompiler for Mac or Linux

user266003 picture user266003 · Dec 11, 2014 · Viewed 46.3k times · Source

I need to decompile a small application written in .NET and convert it to C++. I don't have Windows installed and I know there're a number of .NET decompilers for Windows. Since I have only Mac and Linux and don't want to install Windows only to be able to run a decompiler, I wonder, is there any easy way to decompile a .NET application in Mac or Linux? I searched for it and didn't find anything.

Answer

Atilla Ozgur picture Atilla Ozgur · Dec 11, 2014

Since most of the parts of .NET is open-sourced, ILSpy also works with Linux and Mac.

From project GitHub page:

Decompiler Frontends

Aside from the WPF UI ILSpy (downloadable via Releases, see also plugins), the following other frontends are available:

  • Visual Studio 2017/2019 extension marketplace
  • Visual Studio Code Extension repository | marketplace
  • ICSharpCode.Decompiler NuGet for your own projects
  • Linux/Mac/Windows ILSpy UI based on Avalonia - check out https://github.com/icsharpcode/AvaloniaILSpy
  • Linux/Mac/Windows command line client - check out ICSharpCode.Decompiler.Console in this repository
  • Linux/Mac/Windows PowerShell cmdlets in this repository

Since VS Code works with Linux and Mac, that front end should work in those operating systems too. Command line client should also work.

In addition, JetBrains has a new IDE for .NET, Rider. It works in Linux and Mac. Rider has a built-in decompiler. Unfortunately, this built-in compiler, dotpeek, is only available for Windows.

Another choice is to use mono decompiler, a tool from monoproject. Try to use it. Note that this is an add-in in MonoDevelop.