#99

Feature proposal: Binary Studio (browser binary analysis / IDA-style workflow)

Opentheworker02opened 3d ago

Summary

Proposal to add Binary Studio under src/binary-studio/ — a browser-based static binary analysis tool (open-source alternative covering workflows similar to IDA Pro / Ghidra / Binary Ninja / Cutter), not a brand clone.

Motivation

Everything already covers CAD, circuits, parametric modeling, and API tooling, but has no developer-facing binary inspection / disassembly app. A focused first version can stay fully client-side (no executing uploaded binaries) and fit the existing Vite + plain JS app pattern.

Initial scope (v0)

  • Open local PE and ELF files; reject truncated/malformed input safely
  • Show metadata, sections/segments, entry point, architecture
  • Hex + ASCII viewer synchronized with addresses
  • x86 / x86-64 disassembly (address, bytes, mnemonic, operands)
  • Heuristic function discovery, basic blocks, simple CFG, imports/exports/strings where present
  • Save/restore annotations and analysis sessions (local / Puter later)

Non-goals for v0

  • True decompilation (unless grounded later)
  • Live debugging of arbitrary binaries
  • Running untrusted code during analysis
  • Copying proprietary UI, icons, or assets from IDA/Ghidra/etc.

Technical direction

  • Prefer original parsers + a small instruction decoder first; evaluate MIT/Apache Rust→WASM (e.g. iced-x86) if decode coverage needs to grow
  • Streaming / workers for large files; hard size/memory limits
  • AGPL-3.0 to match sibling creative/engineering apps unless maintainers prefer otherwise

Integration

  • New directory src/binary-studio/ following per-app npm install && npm run dev
  • README category under Developer Tools once a usable demo exists
  • Focused PRs: core loader/disasm first, then UI polish, then advanced analysis

Happy to adjust naming, license, or architecture based on maintainer preference. An initial implementation PR will follow this issue.