1.4 KiB
1.4 KiB
Iced Disassembly Plugin Charter
Mission
Provide high-performance x86/x86-64 disassembly via Iced library. Serve as the primary plugin for Intel/AMD binary analysis due to superior speed.
Responsibilities
- Implement
IDisassemblyPluginusing Iced library - Support ELF, PE formats on x86 and x86-64 architectures
- Provide fast-path disassembly for Intel/AMD binaries
- Map Iced instruction models to abstraction layer
Key Paths
IcedDisassemblyPlugin.cs- Main plugin implementationIcedInstructionMapper.cs- Map Iced types to abstraction modelsElfLoader.cs/PeLoader.cs- Format-specific binary loading
Dependencies
- Iced (NuGet, MIT license) - Fast x86/x86-64 disassembler
- StellaOps.BinaryIndex.Disassembly.Abstractions
Coordination
- Disassembly.Abstractions for interface contracts
- DisassemblyService for plugin registration (preferred for x86/x86-64)
- B2R2 plugin as fallback for unsupported features
- Normalization pipeline for X64 instructions
Required Reading
- Iced documentation: https://github.com/icedland/iced
docs/implplan/SPRINT_20260102_001_BE_binary_delta_signatures.md
Working Agreement
- Update task status in sprint file when starting/finishing work.
- Iced should be preferred plugin for x86/x86-64 due to performance.
- Report capabilities accurately (no ARM, MIPS, etc.).
- Handle malformed binaries gracefully without crashing.
- Keep Iced NuGet version pinned for reproducible builds.