Vai al contenuto
New

DeepSeek V4.1 Flash free for 7 days: 10M tokens a day after a top-up of $10 or more. Until Nov 30.

How it works

Perché usare NotHoly per il reverse engineering

Tieni Ghidra, radare2 o IDA. Incolla l'output del decompilatore e il modello lo spiega e scrive lo script, senza rifiutare. Triage statico per iniziare.

Intermedio3 min di letturaDi NotHoly

Il reverse engineering è leggere. Hai già Ghidra, radare2 o IDA aperto, e la parte lenta è capire un dump del decompilatore, nominare i locali e scrivere lo script che rinomina i prossimi duecento. Un modello aiuta lì, ma solo se accetta la domanda senza ramanzina e legge ciò che incolli. NotHoly fa entrambe. Tieni i tuoi strumenti, e il modello spiega l'output e scrive gli script. Il caso d'uso di reverse engineering ha il flusso più lungo; qui si parla del perché si adatta.

Incolla l'output, ricevi una spiegazione e uno script

L'output del decompilatore e del disassembler è l'input. Incolla una funzione da Ghidra, un blocco da radare2 o un listato da IDA, e il modello spiega cosa fa, nomina la struttura che vede e segna le parti che sembrano un controllo di limite, una routine di decode o un parser. Chiedi uno script e ne scrive uno per il tuo strumento: un passaggio in Ghidra Python che rinomina per pattern, una sequenza di comandi radare2, un frammento di IDAPython, un hook di Frida per loggare una chiamata. Lo script gira sulla tua macchina, contro il tuo campione, mai il nostro. Visto che il modello non rifiuta il compito, una routine di unpacking, un loop offuscato, un trucco anti-debug o un controllo di licenza si legge come qualsiasi altro codice, finché il lavoro è nel tuo scope.

bash
r2 -q -c "pdf @ sym.main" ./bin | notholy "explain this function and write a radare2 script to rename the locals"

Un primo sguardo prima dello strumento pesante

Allega un binario nella chat, o esegui notholy analyze, e gli strumenti statici danno un primo passaggio senza aprire il decompilatore. Per un ELF o PE ricevi lo SHA-256, la dimensione, l'entropia, il formato, l'entry point, le sezioni e gli import. Per un campione ricevi anche le stringhe e un'anteprima di disassembly dall'inizio del file. Un APK dà il manifest e il testo di ogni voce, e un archivio dà il suo albero. Ogni file è analizzato in un sandbox usa e getta senza rete e con radice in sola lettura, nulla in esso viene eseguito, e un pickle di Python è disassemblato con pickletools, mai caricato. Entropia alta e una tabella di import corta bastano a decidere se un campione vale l'ora in Ghidra. Il riferimento dei file elenca i tipi e i limiti.

Cos'altro è a portata

La base di conoscenza è parte del modello, quindi una domanda su un packer, un formato di file o una convenzione di chiamata porta tecnica curata con una fonte e licenza su ogni passaggio. Una stringa di versione che recuperi va dritta a un lookup CVE che restituisce CVSS, EPSS e stato KEV con date. Sia la base di conoscenza sia i dati CVE si leggono dalla CLI e dall'API, così un lotto di campioni si può fare triage da uno script, e lo stesso modello che ha spiegato la funzione abbozza il report che la accompagna. Lo stesso modello che ha abbozzato il report trasforma un formato recuperato in un parser, così passi dai byte a uno script funzionante senza cambiare strumento.

Dove non si adatta

La piattaforma non decompila. Non c'è decompilatore né grafo di flusso di controllo dalla nostra parte, e l'anteprima di disassembly integrata si ferma all'inizio del file e a un conteggio corto di istruzioni, quindi il listato vero viene dal tuo Ghidra o IDA. Nulla viene eseguito e non c'è analisi dinamica, né debugger né emulazione, quindi il comportamento di un campione impacchettato a run time è tuo da osservare nel tuo laboratorio. Le immagini danno solo le dimensioni, senza OCR per ora. E il modello può leggere male un offset, inventare un'API o spiegare male una funzione, quindi tratta la spiegazione come una traccia e confrontala con i byte.

Tieni il tuo decompilatore e lascia che il modello legga il suo output. Metti un saldo piccolo su prezzi, incolla una funzione e chiedi lo script.

Fonti

  1. NotHoly, Files in the chat
  2. NotHoly, Harness tools
  3. NotHoly, CLI commands
  4. NSA, Ghidra
  5. radare2

Altro su Reverse engineering