iced is a blazing fast and correct x86 (16/32/64-bit) instruction decoder, disassembler and assembler.
- ๐ Supports all Intel and AMD instructions
- ๐ Correct: All instructions are tested and iced has been tested against other disassemblers/assemblers (xed, gas, objdump, masm, dumpbin, nasm, ndisasm) and fuzzed
- ๐ Supports .NET, Rust, Python, JavaScript (WebAssembly)
- ๐ The formatter supports masm, nasm, gas (AT&T), Intel (XED) and there are many options to customize the output
- ๐ Blazing fast: Decodes >250 MB/s and decode+format >130 MB/s (Rust, see here)
- ๐ Small decoded instructions, only 40 bytes and the decoder doesn't allocate any memory
- ๐ Create instructions with code assembler, eg.
asm.mov(eax, edx)
- ๐ The encoder can be used to re-encode decoded instructions at any address
- ๐ API to get instruction info, eg. read/written registers, memory and rflags bits; CPUID feature flag, control flow info, etc
- ๐ License: MIT
Examples
License
MIT
Icon
Logo processor
by Creative Stall from the Noun Project