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)