icedland / iced

Blazing fast and correct x86/x64 disassembler, assembler, decoder, encoder for Rust, .NET, Java, Python, Lua

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

iced crates.io NuGet maven pypi GitHub builds codecov

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

About

Blazing fast and correct x86/x64 disassembler, assembler, decoder, encoder for Rust, .NET, Java, Python, Lua

License:MIT License


Languages

Language:Rust 40.0%Language:C# 34.5%Language:Java 21.7%Language:Python 1.9%Language:Lua 1.7%Language:JavaScript 0.2%Language:Shell 0.0%