1.7 KiB
1.7 KiB
Disassembly Abstractions Charter
Mission
Define the platform-agnostic disassembly interfaces and models for binary analysis. Enable multiple disassembly backends (Iced, B2R2) to be plugged in without changing consuming code.
Responsibilities
- Maintain
IDisassemblyPlugininterface defining disassembly capabilities - Define
IDisassemblyServicefor coordinated plugin selection and fallback - Provide format-neutral models:
DisassembledInstruction,BinaryInfo,SymbolInfo,CodeRegion - Keep interfaces stable to minimize breaking changes for plugin implementations
- Ensure deterministic output contracts
Key Paths
IDisassemblyPlugin.cs- Plugin contract with capability reportingIDisassemblyService.cs- Service coordinating multiple pluginsModels/BinaryInfo.cs- Binary metadata (format, architecture, ABI)Models/DisassembledInstruction.cs- Decoded instruction with operandsModels/SymbolInfo.cs- Function/symbol metadataModels/CpuArchitecture.cs- Supported architecture enum
Coordination
- Disassembly plugin implementers (Iced, B2R2)
- Normalization pipeline consumers
- Scanner team for binary vulnerability analysis
Required Reading
docs/modules/binary-index/architecture.mddocs-archived/implplan/2026-01-02-completed-sprints/SPRINT_20260102_001_BE_binary_delta_signatures.md
Working Agreement
- Update task status to
DOING/DONEin sprint file when starting/finishing work. - Review this charter and Required Reading before coding.
- Keep models immutable and serialization-friendly.
- Add capability flags to
IDisassemblyPluginrather than extending interface. - Document all public types with XML doc comments.