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

Aperta
#99 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@theworker02 ci sta già lavorando.

Dal 27/10/2026.

  • #105 di @theworker02 — aperta
  • #111 di @theworker02 — aperta

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
12/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
javascript, rust, wasm

Direzione di ricerca

This is a whole new application under src/binary-studio/, and two open pull requests (#105 and #111) already carry implementation work. Read those PRs and the proposal's v0 scope before touching anything; the first usable slice is the PE/ELF loader with safe rejection of malformed input. Done means a working client-side loader and hex viewer, not the full disassembler.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
JavaScript
Stelle
7.1k
Fork
732
Merge medio
2h 54m
PR unite (30g)
21

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di HeyPuter/everything

Tutte le issue di HeyPuter/everything

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.