2020-02-11 18:17:50 +00:00
|
|
|
|
# Iced [](https://www.nuget.org/packages/Iced/) [](https://crates.io/crates/iced-x86) [](https://github.com/0xd4d/iced/actions) [](https://codecov.io/gh/0xd4d/iced)
|
2018-09-07 20:48:32 +00:00
|
|
|
|
|
2018-09-21 19:30:08 +00:00
|
|
|
|
<img align="right" width="160px" height="160px" src="logo.png">
|
|
|
|
|
|
2020-02-11 16:38:21 +00:00
|
|
|
|
Iced is a high performance 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.
|
2020-02-10 19:03:39 +00:00
|
|
|
|
|
|
|
|
|
- ✔️Supports all Intel and AMD instructions
|
2020-02-11 16:38:21 +00:00
|
|
|
|
- ✔️Supports .NET and Rust
|
|
|
|
|
- ✔️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 32 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
|
2020-02-10 19:03:39 +00:00
|
|
|
|
- ✔️API to get instruction info, eg. read/written registers, memory and rflags bits; CPUID feature flag, flow control info, etc
|
|
|
|
|
- ✔️All instructions are tested (decode, encode, format, instruction info)
|
|
|
|
|
- ✔️License: MIT
|
2018-09-05 23:29:23 +00:00
|
|
|
|
|
2020-02-11 16:38:21 +00:00
|
|
|
|
# Examples
|
2020-01-24 17:00:21 +00:00
|
|
|
|
|
2020-02-11 16:38:21 +00:00
|
|
|
|
See the following READMEs for examples:
|
2020-01-24 17:00:21 +00:00
|
|
|
|
|
2020-02-11 16:38:21 +00:00
|
|
|
|
- .NET: [README](https://github.com/0xd4d/iced/tree/master/src/csharp/Intel/README.md)
|
|
|
|
|
- Rust: [README](https://github.com/0xd4d/iced/blob/master/src/rust/iced-x86/README.md)
|
2020-02-10 19:03:39 +00:00
|
|
|
|
|
2018-09-07 19:33:05 +00:00
|
|
|
|
# License
|
2018-09-05 23:29:23 +00:00
|
|
|
|
|
2019-01-01 12:40:59 +00:00
|
|
|
|
MIT
|
2018-09-21 19:30:08 +00:00
|
|
|
|
|
2018-12-26 15:00:56 +00:00
|
|
|
|
# Icon
|
2018-09-21 19:30:08 +00:00
|
|
|
|
|
|
|
|
|
Logo `processor` by [Creative Stall](https://thenounproject.com/creativestall/) from the Noun Project
|