Spices.Decompiler helps you decompile assemblies to C#, IL, J#, C++ or Delphi source code.
Spices.Decompiler is tightly integrated within Spices.Net environment and so provides for decompilation of the entire project, or a selected assembly or module.
With Spices.Decompiler you can build a code flow diagram that lets you see how this or that method is used and called within assembly or project. It can be helpful when you analyze project hierarchy and discover possible design flaws, debug or trace errors.
Spices.Decompileressential features are outlined in short below.
|Multiple languages decompilation/disassembling||Spices.Decompiler generates well-formed and optimized code for 6 languages: MSIL, C#, VB.Net, Delphi.Net, J# and managed C++|
|Well-formed and optimized code||Spices.Decompiler generates well-formed code with syntax highlighting, indenting, folding (outlining) and active hints support|
|Own metadata access engine||Spices.Decompiler uses own metadata access engine, that not crashes on incorrect MSIL|
|Visual Decompiler||Visual Decompiler is one of the key Spices.Net novelties. Now the user may build a code flow diagram enabling to analyze the code execution.|
|All types of .Net assemblies||Spices.Decompiler correctly decompiles all types of assemblies – managed (C#, VB.Net, Delphi.Net), CompactFramework and mixed code(managed c++) assemblies.|
|Any scope of decompilation/diassembling||You can choose any scope for decompilation in the assembly browser|
|.Net 2.0 support||Spices.Decompiler supports .Net 2.0 assemblies format, generics, new MSIL instructions etc.|
|Output directions||Spices.Decompiler can generate code for displaying in the Spices.Net syntaxhighlihted editor or output to files (with classes separation to namespaces or class names).|
|Multiple selection decompilation||User can choose multiple selection of members for decompilation.|
|Whole assembly decompilation||Whole assembly decompilation with resources and assembly information extraction is possible.|
|Optimizations/refactoring||Spices.Decompiler can produce unoptimized(raw) code or optimized(refactored) code. Wide range of code optimization/refactoring procedures is constantly renewed.|
|Active hints||Code generated and displayed in the Spices.Net is live – user can receive detailed info about member at mouse cursor and go to this member in the assembly browser.|
|Code outlining/folding||Code golding/outlining is supported on all languages.|
|Supports all modifiers||Spices.Decompiler supports all modifiers.|
|Supports all keywords||Spices.Decompiler supports all keywords.|
|Complex Nested statements||Spices.Decompiler recognizes complex statements such as iteration (for, while, foreach), condition (if, else if, if-else if-else) and switch statements.|
|Variables arrangement||Spices.Decompiler arranges variables at their scope of usage.|
|Variable names extraction||Spices.Decompiler extracts variable names from .PDB files (if avaialble).|
|COM/Interop/Unmanaged code||Spices.Decompiler fully decompiles COM/Interop/Unmanaged code.|
|Unsafe code, pointers||Spices.Decompiler marks as unsafe code with pointers.|
|Custom attributes||Spices.Decompiler extracts all custom attributes information.|
|Method overloading, interface implementation, overriding recognition||Spices.Decompiler recognizes method overloading, interface implementation, overriding.|
|Generics support||Spices.Decompiler supports generics.|