save progress
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
# 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 `IDisassemblyPlugin` interface defining disassembly capabilities
|
||||
- Define `IDisassemblyService` for 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 reporting
|
||||
- `IDisassemblyService.cs` - Service coordinating multiple plugins
|
||||
- `Models/BinaryInfo.cs` - Binary metadata (format, architecture, ABI)
|
||||
- `Models/DisassembledInstruction.cs` - Decoded instruction with operands
|
||||
- `Models/SymbolInfo.cs` - Function/symbol metadata
|
||||
- `Models/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.md`
|
||||
- `docs/implplan/SPRINT_20260102_001_BE_binary_delta_signatures.md`
|
||||
|
||||
## Working Agreement
|
||||
1. Update task status to `DOING`/`DONE` in sprint file when starting/finishing work.
|
||||
2. Review this charter and Required Reading before coding.
|
||||
3. Keep models immutable and serialization-friendly.
|
||||
4. Add capability flags to `IDisassemblyPlugin` rather than extending interface.
|
||||
5. Document all public types with XML doc comments.
|
||||
Reference in New Issue
Block a user