Blazing fast and correct x86/x64 disassembler, assembler, decoder, encoder for .NET, Rust, Python, JavaScript
Go to file
wtfsck 1893c983d7 Add `PathUtils` 2022-06-20 21:38:51 +02:00
.github Use an older version of Rust to work around a crash in 1.61+ (#297) 2022-05-20 20:33:09 +02:00
build Rename all `lua5{1,2,3,4}` features to `lua5_{1,2,3,4}` 2022-05-30 18:34:25 +02:00
src Add `PathUtils` 2022-06-20 21:38:51 +02:00
.editorconfig Update .editorconfig 2019-01-01 13:05:47 +01:00
.gitignore Rust code coverage (kcov) 2021-10-12 23:13:32 +02:00
LICENSE.txt Update LICENSE.txt 2021-03-19 17:31:02 +01:00
README.md Add link to Lua `README.md` from main `README.md` 2022-05-25 23:50:35 +02:00
logo.png Add logo 2018-09-21 21:30:08 +02:00

README.md

iced crates.io NuGet pypi npm 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