Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
N0xis — Toolkit di reverse engineering: disassembler, decompilatore SSA, recupero delle classi C++ e analisi di processi live per PE ed ELF. CLI scriptabile, ogni risposta in JSON. Sorgente disponibile (PolyForm Noncommercial). | Kitploit
Strumenti/GitHubGitHub/structio-labs/n0xis
Analisi StaticaAnalisi Dinamica (Sandboxing)Memory ForensicsReverse EngineeringDebuggerAnalisi MalwareUtilità e FrameworkAnalisi di BinariReverse Engineering Assistito dall'IABinary Exploitation
GitHub
21051 giorno faNon ancora revisionato
structio-labs/n0xis

N0xis

Toolkit di reverse engineering: disassembler, decompilatore SSA, recupero delle classi C++ e analisi di processi live per PE ed ELF. CLI scriptabile, ogni risposta in JSON. Sorgente disponibile (PolyForm Noncommercial).

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

N0xis

Un toolkit di reverse engineering: disassembler, decompilatore SSA, recupero delle classi C++ e analisi di processi live per PE ed ELF. I file statici e i processi in esecuzione passano attraverso un'unica pipeline, e ogni risposta è JSON su cui uno script può agire.

Tre front end condividono quel core: la CLI, dove un comando risponde con un singolo oggetto JSON (una sessione serve con un envelope di ready, poi uno per richiesta); una GUI desktop nel proprio repository, n0xis-gui; e un server MCP, n0xis-mcp — 27 strumenti che restituiscono lo stesso envelope via JSON-RPC su stdio.

Un'esecuzione live: trova le impostazioni decifrate di un programma nella sua memoria, osservale con un watchpoint hardware e ottieni il loop decompilato che le ha scritte

Un'esecuzione reale di examples/config-demo: un programma mantiene le proprie impostazioni cifrate e le decifra in memoria; trova il plaintext, imposta un watchpoint hardware su di esso e ottieni il codice decompilato che lo ha scritto. Rieseguilo tu stesso con demo.sh.

$ n0xis provenance trace --pid 181529 --addr 0x564e32cb7060 --kind write
"instruction_va": "0x564e32cb4266",   // the byte store that wrote the watched address
"function_va": "0x564e32cb4230",      // the function it sits in, on this build (see below)
"decompiled_context": [
  "rcx.3 = (uint32_t)((uint32_t)(uint32_t)*(uint8_t*)((rsi.1 + v2)) ^ (uint32_t)v1);",
  "*(uint8_t*)((rdi.1 + v2)) = (uint8_t)rcx.3;",   // ← the write
  "rcx.4 = (uint32_t)(v1 + (v1 * 0x2));",
  "v2 = (v2 + 0x1);",
  "v1 = (uint32_t)((v1 + (rcx.4 * 0x4)) + 0x7);"
]

Nel sorgente questo è config[i] = sealed[i] ^ key; key = key * 13 + 7;: le due istruzioni rcx.4 = v1 + v1 * 2 e v1 = v1 + rcx.4 * 4 + 7 insieme sono v1 * 13 + 7. La risposta fornisce indirizzi, non i nomi config e decrypt_config: i nomi provenienti dai simboli del binario non sono ancora riportati in essa. Questa build è gcc -O2, dove function_va è l'inizio della funzione; sulle build clang -O2 e gcc -O1 dello stesso sorgente è la testa del ciclo, a cui si risponde ok:true senza note. Questa esecuzione è su Linux; l'ultima esecuzione Windows di provenance trace è nel registro.

Cosa funziona e dove

yes: tutti i controlli concordano · partial: utilizzabile, con le lacune sotto indicate · wrong: ok:true con risultati errati sugli input misurati · refused: un errore tipizzato · not yet: nessun percorso di codice. Misurato a ottobre 2026 su programmi compilati da sorgente nota, rispetto al processore e a strumenti indipendenti.

FormatoFile staticoProcesso live
PE32+, PE32 (x86-64, x86, ARM64)partial: le lacune e le risposte errate sotto indicateWindows: non misurato per questa tabella
ELF64, ELF32 (x86-64, x86, AArch64, ARMv7)partial: le lacune e le risposte errate sotto indicate; big-endian: decompile e RTTI refusedLinux x86-64: partial: le voci live sotto indicate; altre ISA non misurate
Mach-O, thin e universalrefused (load-failed)not yet
WebAssemblypartial: l'elenco delle funzioni, il disassemblaggio, le chiamate da e verso una funzione, import, export, profile e strings (con la posizione di ogni stringa nella memoria lineare) concordano con wasm-objdump su ogni modulo misurato; decompile, IR e gli altri comandi che richiedono il lift refused (not-lifted: il lift è la fase 3)not yet
Byte grezzi (--bytes)disassemble, cross-references, strings con un intervallo; discover e decompile partial; profile e rtti scan refused—
ISADisassembleDiscover functionsDecompile
x86-64yesyes con tabelle di unwind; partial senzapartial
x86 (i386)yespartial: anche con .eh_frame, il padding di GCC e .plt elencati come funzioni, i punti nei nomi riscritti, una fine mancantepartial
AArch64, little- e big-endianyeslittle-endian yes con .eh_frame; big-endian partial: manca funzioni che .eh_frame dichiara; partial senza; su PE --pdata è wrongpartial; big-endian refused
ARMv7 A32partial: nessun NEON, dati nel codice decodificati come codicepartialwrong: tabelle di salto, tail call
ARMv7 Thumb-2 (--arch thumb)wrong: destinazioni dei branch, condizioni ITpartial: nessun nome o finewrong: un ritorno con predicato IT termina la funzione
WebAssemblyyes; la destinazione di un branch è una profondità di etichetta, non fornita fino alla fase 3yes: ogni corpo, la sua estensione, indice e nomerefused (fase 3)
  • Errato con ok:true: RTTI Itanium in un PE MinGW (segnalato come assente), --pdata su ARM64 PE, nomi di sezione MinGW lunghi in profile (/4), l'elenco degli export di un oggetto condiviso ELF e i nomi .localalias che assegna alle funzioni di quell'oggetto, il padding i386 di GCC e il blocco .plt elencati come funzioni, i punti nei nomi dei simboli stampati come underscore (__x86_get_pc_thunk_bx per __x86.get_pc_thunk.bx), e il discovery big-endian AArch64 che omette funzioni dichiarate dal suo .eh_frame. Il decompilatore scarta gli argomenti pass-through, stampa gli shift aritmetici come unsigned e le moltiplicazioni a 64 bit come a 32 bit, può fare switch su o leggere un registro che non assegna mai, su AArch64 può nominare la stringa sbagliata, su A32 (e nella stessa forma su AArch64) esegue un ciclo countdown con un'iterazione in meno, e su x86 a 32 bit perde gli argomenti sullo stack e la metà alta dei risultati a 64 bit. Il suo campo quality non è un punteggio di correttezza. L'elenco completo, con i conteggi, è nel registro.
  • Mancati, risposto ok con meno: senza tabelle di unwind, funzioni raggiunte solo tramite vtable, il punto di ingresso ABI MSVC e la maggior parte di un oggetto condiviso ELF; riferimenti contenuti in immediati assoluti, adrp+add o adr su AArch64, o la GOT i386; vtable secondarie Itanium, e ogni classe Itanium di un'immagine stripped; nomi che solo la tabella dei simboli COFF contiene. Un PDB accanto a un PE x64 ha fornito ogni inizio, nome e fine sulle due immagini lld-link misurate (35 su 35, 18 su 18).
  • Live (Linux): provenance trace stampa un indirizzo scritto come string literal quando i byte in quel punto sono per caso stampabili, e su alcune build nomina la testa del ciclo come funzione (sopra); la scansione per pattern di byte (scan aob) richiede --start/--size per superare una regione non leggibile; scan dissect indovina i tipi dei campi; i comandi solo per Windows rifiutano altrove.

Installazione

Binari precompilati per Linux e Windows, il server MCP e sha256sums.txt: ultima release.

curl -LO https://github.com/Structio-labs/N0xis/releases/latest/download/n0xis-linux-x86_64
curl -LO https://github.com/Structio-labs/N0xis/releases/latest/download/sha256sums.txt
sha256sum -c --ignore-missing sha256sums.txt
chmod +x n0xis-linux-x86_64 && mv n0xis-linux-x86_64 n0xis && ./n0xis --version

Oppure compilalo con Rust stabile, su Linux o Windows: cargo build --workspace --release. rust-toolchain.toml fissa solo il canale e indica come compilare su Windows senza gli MSVC Build Tools.

Quickstart

Scarica lo strumento