Home FAQ Downloads

Cli-Dasm FAQ v1.0

Q: What is Cli-Dasm?

A: Cli-Dasm is a multi-platform Common Language Infrastructure library and executable which will disassemble CLI images in a human readable form(Or at least readable to those who can understand disassembled CLI code).

Q: What is the goal of Cli-Dasm?

A: At the moment there are two main goals to this project :

    1) To create reusable (and maybe CLS compliant) libraries which can be used to implement different versions of a disassembler.

    2)To use these reusable components to create a console disassembler, and a gui disassembler(for Windows with WinForms and Linux with Qt#, and possible Gtk#).

Q: Aren't there tools available for this already?

A: Yes there are. There are tools within the FCL(Framework Class Library) which can be used to disassemble a CLI image, yet I feel they give to high a level of an interface to implement a disassembler. Plus I am doing this much as a learning experience. The ILDasm tool which has been released with the FrameworkSDK is an excellent tool, which this project hopes to mimic, yet it is only available for Win32 platforms. The mono disassembler respectively does the same job, yet without user interface, or as in depth as ILDasm. Also this Monodis is only available for *nix platforms. This project intends  to bring a fully functional gui disassembler to the CLI platform, as well as reusable libraries which can be used by other developers.

Q: Is there any source code yet?

A: Yes. There is a functional library and a test app which has been released, which so far reads everything up to the MetaData root, and verifies if an image is a CLI image. You can get the code here.

Q: What is required to run Cli-Dasm?

A: A platform which can execute managed cli code, such as the .NET Framework, Mono, or Portable .NET. In the future you will definitely require Qt3 for X11, and the Qt# package to run on any *nix platform.

Q:What compiler is needed to build this project?

A:Although I will distribute pre-compiled releases, the Microsoft csc and Mono msc both currently compile Cli-Dasm. These are both C# compilers, and if you haven't gotten the hint yet, Cli-Dasm is being written in C#

Q: Is there any way I can help?

A: You can spam Trolltech every moment of the day and tell them to release Qt3 Windows for free ;). But if you have any experience with any OOP language, and need a new project I can always use an extra hand :)

Q: Is that it?

A: Unfortunately yes :(