Metasm feature list
===================

Metasm is a cross-architecture assembler, disassembler, compiler, linker and debugger.

See <use_cases.txt>

Architectures
-------------

It is written in such a way that it is easy to add support for new architectures.
For now, the following architectures are in:

* Intel <core/Ia32.txt> (16 and 32bits)
* Intel <core/X86_64.txt> (*aka* Ia32 64bits, X64, AMD64)
* MIPS
* PowerPC
* Sh4

The developpement is generally more focused on Ia32 and X86_64.


File formats
------------

The following executable file formats are supported:

* <core/Shellcode.txt> (raw binary)
* <core/PE.txt>/<core/COFF.txt> (32/64bits)
* <core/ELF.txt> (32/64bits)

Those are supported in a more limited way:

* Mach-O, UniversalBinary
* MZ
* A.out
* XCoff
* NDS


Features
--------

The framework includes

* a graphical <usage/disassembler.txt>
* a graphical <usage/debugger.txt>
* low and high-level debugging support (Ia32 only for now) under Windows, Linux and remote (via a GdbServer)
* an advanced disassembler engine, with limited emulation support
* a full <usage/C_parser.txt> (with preprocessor)
* an experimental <usage/C_compiler.txt> (Ia32 only)
* an experimental <usage/decompiler.txt> (Ia32 only)

