Skip to main content

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. - Supports all Intel and AMD instructions - High level Assembler providing a simple and lean syntax (e.g `asm.mov(eax, edx)`)) - Decoding and disassembler support: - 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, gas (AT&T), Intel (XED) and there are many options to customize the output - Encoding support: - 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) - Supports `.NET Standard 2.0/2.1+` and `.NET Framework 4.5+` License: MIT

Total Downloads
68.8M
68,824,749
Published
Jan 26, 2020
Latest stable version

Install

.NET CLI
dotnet add package Iced --version 1.5.0
Package Manager Console
Install-Package Iced -Version 1.5.0
PackageReference
<PackageReference Include="Iced" Version="1.5.0" />

Frameworks

.NETFramework4.5 .NETStandard2.0 .NETStandard2.1

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.

Compatibility metadata lists 3 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.