https://github.com/spouliot/cilurbo
A simple text-based disassembler/decompiler for .net assemblies
https://github.com/spouliot/cilurbo
cil csharp decompiler disassembler dotnet tool
Last synced: about 2 months ago
JSON representation
A simple text-based disassembler/decompiler for .net assemblies
- Host: GitHub
- URL: https://github.com/spouliot/cilurbo
- Owner: spouliot
- License: mit
- Created: 2022-01-18T00:51:12.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-02-28T16:24:16.000Z (over 4 years ago)
- Last Synced: 2025-03-18T03:23:26.455Z (over 1 year ago)
- Topics: cil, csharp, decompiler, disassembler, dotnet, tool
- Language: C#
- Homepage:
- Size: 304 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- License: LICENSE
Awesome Lists containing this project
README

This is a proof-of-concept for implementing several ideas I have to investigate .net assemblies, largely around how good (or bad) IL linking is for applications. The basic parts, disassembler and decompiler, are useful by themselves for many other purposes.
As long as this remains a proof-of-concept (before 1.0) expect many breaking changes.
## Goals
* Easy to build, extend and update (to latest [ICSharpCode.Decompiler](https://github.com/icsharpcode/ILSpy/tree/master/ICSharpCode.Decompiler) versions)
* Cross platform (at least macOS and Linux)
## Features
* [Keyboard driven](https://github.com/spouliot/cilurbo/wiki/KeyBindings)
* [Metadata Tree](https://github.com/spouliot/cilurbo/wiki/MetadataTree)
* [View disassembly (IL)](https://github.com/spouliot/cilurbo/wiki/Disassembler)
* [View decompiled source code (C#)](https://github.com/spouliot/cilurbo/wiki/Decompiler)
* View metadata tables (in progress)
* [Gist support](https://github.com/spouliot/cilurbo/wiki/Gist)
* Source code: [C#](https://gist.github.com/spouliot/7f212838bba691181c6153b3e51e2d54) and [IL](https://gist.github.com/spouliot/d04409250cf7b9549000f07523efc6f4)
* [Metadata tables](https://gist.github.com/spouliot/6a7ac81007849b99ce351047e16aaedc)
* [Dash support](https://github.com/spouliot/cilurbo/wiki/Dash) : quickly open documentation for the selected item
* Analyzers
* [P/Invoke Finder](https://github.com/spouliot/cilurbo/wiki/AnalyzerPInvokeFinder)
* Method Uses
## TODO
* Add missing metadata tables
* Add decompiler options / preferences
* Add more analysis tools
Features are being added on a "as I need them" basis.
## Built on top
* [CliWrap](https://github.com/Tyrrrz/CliWrap)
* [ICSharpCode.Decompiler](https://github.com/icsharpcode/ILSpy/tree/master/ICSharpCode.Decompiler)
* [Terminal.Gui](https://github.com/migueldeicaza/gui.cs)