Files
StellaOps Bot ca578801fd save progress
2026-01-03 00:49:19 +02:00

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 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.