/Dekompiler

[WIP] Dekompiler is .NET decompiler that converts Cil to C# code.

Primary LanguageC#MIT LicenseMIT

Dekompiler

Dekompiler is work-in-progress .NET decompiler that converts Cil to C# code.

Showcase

corlib_ginterface dekompiler_core_ldnull dekompiler_core_newarr koi_config koi_rt_cmpdwrd koi_rt_vmctx koi_vminstance pointers unsupported x86_decoded_expressions

Issues

  • Dekompiler do not use Ast to process the assemblies.
  • Dekompiler do not optimize CompilerGenerated members.
  • Dekompiler do not support loading assemblies from disk (this means you need to load the dependencies as-well).
  • Dekompiler do not support control-flow codes.
  • Dekompiler do not support exception-handlers codes.
  • Dekompiler do not support nullability.
  • Dekompiler do not support operator methods (i.e op_Explicit, op_Add, op_Implicit).
  • Dekompiler do not support using-section in decompilation result.
  • Dekompiler do not support rendering of couple TypeSignatures.
  • Dekompiler do not support basic code inlining nor optimization.
  • Dekompiler do not support dead code removal.
  • Dekompiler do not support any Attributes applied to member-definition(s).
  • Dekompiler might introduce mistakes in member-definition(s) accessibility flags.
  • Dekompiler might fails to render Generics in some cases due to incorrect implementation.

Credits

Washi for AsmResolver
0xd4d for dnSpy CodeTheme palettes.