1.6 KiB
1.6 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/binaryindex/architecture.mddocs/implplan/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.