
Un cuaderno donde escribir notas mientras se usa rizin!
Un cuaderno para análisis binario con rizin. Mantén notas, comandos y scripts organizados por binario.
Requiere rizin 0.7.0 o posterior.
Cada página del cuaderno está vinculada a un binario. Almacena el binario en sí, su hash SHA-256, y una lista de celdas:
Las páginas se almacenan como archivos .rznb individuales (bases de datos SQLite) en ~/.rizin-notebook/.
Se pueden exportar e importar como archivos individuales autocontenidos.
rizin-notebook) - la aplicación principal. Sirve una interfaz web, expone una
API REST de protobuf + JSON, almacena todo en archivos .rznb SQLite por página.NB a rizin para
que puedas interactuar con el cuaderno desde el shell de rizin.Los plugins son opcionales. El servidor Go funciona de forma independiente solo con un navegador.
El servidor Go es independiente de la plataforma. Los plugins dependen de la versión de Rizin con la que se compilan.
Si rizin independiente y Cutter distribuyen diferentes versiones de Rizin en tu máquina, compila
rz_notebook una vez para cada una. Ambas compilaciones pueden comunicarse con el mismo servidor y compartir los mismos
datos .rznb.
Regla simple:
rz_notebook por versión de Rizin en usoLas capturas de pantalla del proyecto están organizadas en docs/images/.
Figura 1. Vista de la página de inicio (con búsqueda basada en celda y alcance, compatible con múltiples modos).
Figura 2. Página de configuración para la configuración del entorno, atajos de teclado y comportamiento del lado del servidor.
Figura 3. Autocompletado de comandos en la consola web, ayudando a descubrir y completar comandos de Rizin rápidamente.
Figura 4. Ventana modal integrada de ayuda y búsqueda de comandos para explorar descripciones y argumentos.
Figura 5. Integración del plugin de núcleo de Rizin, permitiendo la interacción con el cuaderno directamente desde el shell de Rizin.
Figura 6. Vista de integración del plugin de Cutter mostrando la experiencia del cuaderno dentro de la interfaz de Cutter.
Figura 7. Vista adicional del flujo de trabajo del plugin de Cutter demostrando posibles usos del cuaderno.
go build -o rizin-notebook .
Integra la cadena de versión durante las compilaciones de lanzamiento:
go build -ldflags "-X main.NBVERSION=$(git rev-parse --short HEAD)" -o rizin-notebook .
./rizin-notebook
Se abre en http://127.0.0.1:8000/ por defecto.
Banderas:
-bind 127.0.0.1:8000 dirección y puerto de escucha
-root / prefijo de ruta URL
-notebook /path/to/data directorio de datos (predeterminado: ~/.rizin-notebook)
-debug-assets /path cargar plantillas desde el disco en lugar de incrustadas
-debug habilitar registros de solicitudes HTTP
Establece RIZIN_PATH para sobrescribir la ruta del binario de rizin utilizada para la ejecución del pipe.
Consulta rizin-notebook-plugin/README.md.
Consulta cutter-notebook-plugin/README.md.
Si Cutter incluye su propio Rizin incrustado, el plugin rz_notebook cargado por Cutter debe
compilarse contra esa misma versión de Rizin empaquetada.
Cada página es un archivo .rznb en el directorio de datos. Es una base de datos SQLite que contiene:
El servidor mantiene un índice catalog.db para listar rápidamente todas las páginas.
En la primera ejecución, el servidor migra automáticamente cualquier página de un formato monolítico anterior
notebook.db al diseño por página .rznb.
Todos los comandos del plugin NB utilizan la API protobuf (Content-Type: application/x-protobuf).
El esquema está en proto/notebook.proto.
Una API JSON paralela en /api/v1/json/... es utilizada por el plugin de Cutter y la interfaz del navegador.