
Un blocco note per scrivere appunti mentre si usa rizin!
Un quaderno per l'analisi binaria con rizin. Tieni note, comandi e script organizzati per binario.
Richiede rizin 0.7.0 o successivo.
Ogni pagina del quaderno è legata a un binario. Memorizza il binario stesso, il suo hash SHA-256 e un elenco di celle:
Le pagine sono memorizzate come singoli file .rznb (database SQLite) in ~/.rizin-notebook/. Possono essere esportate e importate come singoli file autonomi.
rizin-notebook) - l'applicazione principale. Serve un'interfaccia web, espone un'API REST protobuf + JSON, memorizza tutto in file SQLite .rznb per pagina.NB a rizin per interagire con il notebook dalla shell di rizin.I plugin sono opzionali. Il server Go funziona autonomamente con solo un browser.
Il server Go è indipendente dalla piattaforma. I plugin dipendono dalla versione di Rizin contro cui sono compilati.
Se il rizin standalone e Cutter distribuiscono versioni diverse di Rizin sulla tua macchina, compila rz_notebook una volta per ciascuna. Entrambe le build possono comunicare con lo stesso server e condividere gli stessi dati .rznb.
Regola semplice:
rz_notebook per versione di Rizin in usoGli screenshot del progetto sono organizzati in docs/images/.
Figura 1. Vista homepage (con ricerca per cella e ambito, supporta più modalità.)
Figura 2. Pagina delle impostazioni per la configurazione dell'ambiente, le scorciatoie da tastiera e il comportamento lato server.
Figura 3. Autocompletamento dei comandi nella console web, aiuta a scoprire e completare rapidamente i comandi Rizin.
Figura 4. Modale di aiuto e ricerca comandi integrato per esplorare descrizioni e argomenti dei comandi.
Figura 5. Integrazione del plugin core di Rizin, che consente l'interazione con il notebook direttamente dalla shell di Rizin.
Figura 6. Vista dell'integrazione del plugin Cutter che mostra l'esperienza del notebook all'interno dell'interfaccia di Cutter.
Figura 7. Vista aggiuntiva del flusso di lavoro del plugin Cutter che dimostra possibili utilizzi del notebook.
go build -o rizin-notebook .
Incorpora la stringa di versione durante le build di rilascio:
go build -ldflags "-X main.NBVERSION=$(git rev-parse --short HEAD)" -o rizin-notebook .
./rizin-notebook
Si apre su http://127.0.0.1:8000/ di default.
Flag:
-bind 127.0.0.1:8000 address and port to listen on
-root / URL path prefix
-notebook /path/to/data data directory (default: ~/.rizin-notebook)
-debug-assets /path load templates from disk instead of embedded
-debug enable HTTP request logs
Imposta RIZIN_PATH per sovrascrivere il percorso del binario rizin utilizzato per l'esecuzione tramite pipe.
Vedi rizin-notebook-plugin/README.md.
Vedi cutter-notebook-plugin/README.md.
Se Cutter distribuisce il proprio Rizin incorporato, il plugin rz_notebook caricato da Cutter deve essere compilato contro quella stessa versione inclusa di Rizin.
Ogni pagina è un file .rznb nella directory dei dati. È un database SQLite contenente:
Il server mantiene un indice catalog.db per un elenco veloce su tutte le pagine.
Al primo avvio, il server migra automaticamente eventuali pagine dal vecchio formato monolitico notebook.db nel layout per pagina .rznb.
Tutti i comandi del plugin NB utilizzano l'API protobuf (Content-Type: application/x-protobuf). Lo schema si trova in proto/notebook.proto.
Un'API JSON parallela su /api/v1/json/... viene utilizzata dal plugin Cutter e dall'interfaccia browser.