Blazing fast and correct x86/x64 disassembler, assembler, decoder, encoder for .NET, Rust, Python, JavaScript
Go to file
wtfsck 3d932c02ee Update read-mem32/64 2021-02-05 23:28:32 +01:00
.github Patch Cargo.toml iced-x86 path instead of using .cargo/config.toml 2021-01-23 16:29:20 +01:00
build Verify that the two read-mem methods behave the same 2021-02-04 19:13:16 +01:00
src Update read-mem32/64 2021-02-05 23:28:32 +01:00
.editorconfig Update .editorconfig 2019-01-01 13:05:47 +01:00
.gitignore Use a smaller .gitignore file 2021-01-26 17:51:21 +01:00
LICENSE.txt Add GH link to license file 2021-02-02 20:24:09 +01:00
README.md Update github urls 2021-01-26 17:51:12 +01:00
logo.png Add logo 2018-09-21 21:30:08 +02:00

README.md

Iced NuGet crates.io pypi npm GitHub builds codecov

Iced is a high performance and correct x86 (16/32/64-bit) instruction decoder, disassembler and assembler.

It can be used for static analysis of x86/x64 binaries, to rewrite code (eg. remove garbage instructions), to relocate code or as a disassembler.

  • ✔️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
  • ✔️The decoder is 4x+ faster than other similar libraries and doesn't allocate any memory
  • ✔️Small decoded instructions, only 40 bytes
  • ✔️High level Assembler (.NET) providing a simple and lean syntax (e.g 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 and/or Build Instructions

License

MIT

Icon

Logo processor by Creative Stall from the Noun Project