Iced
High performance x86 (16/32/64-bit) instruction decoder, encoder and formatter. 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 - The decoder doesn't allocate any memory and is 2x-5x+ faster than other similar libraries written in C or C# - Small decoded instructions, only 32 bytes - The formatter supports masm, nasm and gas (AT&T) and there are many options to customize the output - The encoder can be used to re-encode decoded instructions at any address - The block encoder encodes a list of instructions and optimizes branches to short, near or 'long' (64-bit: 1 or more instructions) - 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: LGPL v3 or any later version (LGPL = GNU Lesser General Public License)
Install
dotnet add package Iced --version 1.0.2
Install-Package Iced -Version 1.0.2
<PackageReference Include="Iced" Version="1.0.2" />
Frameworks
Dependencies
No declared dependencies.
Adoption guide
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.
Compatibility metadata lists 2 target frameworks; confirm the exact target used by your application.
How to read this guidance
Sources: published NuGet v3 registry metadata and explicit NuBrowse editorial guides. Refresh: package metadata is refreshed from NuGet when the page loads. Limit: this is not a security, legal or compatibility guarantee; validate the selected version in your project.
Useful next steps
Move from package metadata to a concrete selection or review workflow.