Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/structio-labs/n0xis
Statische AnalyseDynamische Analyse (Sandboxing)SpeicherforensikReverse EngineeringDebuggerMalware-AnalyseDienstprogramme & FrameworksBinäranalyseKI-gestütztes Reverse EngineeringBinary-Exploitation
GitHub
13vor 19 TagenNoch nicht geprüft
structio-labs/n0xis

N0xis

KI-first Reverse-Engineering-Toolkit: statische Analyse, SSA-Decompiler, Live-Speicher, Provenienz. Quelloffen verfügbar (PolyForm Noncommercial).

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

N0xis

Von einem Hardware-Watchpoint in einem laufenden Prozess bis zur exakten dekompilierten Anweisung, die den Wert geändert hat.

Memory-Scanner finden die Adresse. Decompiler erklären den Code. N0xis verbindet beides.

$ n0x provenance trace --pid 9348 --addr 0x7ff68bef3010 --kind write
"function_va": "0x7ff68bef1580",          // containing function, auto-resolved
"decompiled_context": [
  "rax.2 = (*(uint32_t*)(0x7ff68bef3010) - 0x1);",
  "*(uint32_t*)(0x7ff68bef3010) = rax.2;"  // ← the statement that moved your value
]

Das ist das hp -= 1; des Quellcodes, wiederhergestellt aus einem laufenden Prozess — die überwachte Adresse erscheint in der Anweisung. Verifiziert unter Windows und Linux.

Ein „finde, was darauf zugreift"-Scan endet normalerweise bei einer rohen Disassembler-Zeile, und ein Decompiler hat normalerweise überhaupt keinen Live-Watchpoint-Input. Dies sind die beiden Hälften, zusammengefügt: Der Watchpoint-Treffer wird durch dieselbe SSA-Pipeline aufgelöst, die die Datei dekompiliert.

Installation

Vorgefertigte Binärdateien für Linux und Windows — neueste Version.

curl -LO https://github.com/Structio-labs/N0xis/releases/latest/download/n0xis-linux-x86_64
chmod +x n0xis-linux-x86_64 && ./n0xis-linux-x86_64 --version

Oder selbst bauen: cargo build --workspace --release (Windows und Linux; keine MSVC Build Tools nötig — rust-toolchain.toml pinnt den gnu-Host).

Schnellstart

Jeder Befehl gibt ein JSON-Objekt aus — Argumentfehler eingeschlossen: {"ok":true,"data":…,"meta":…} oder {"ok":false,"error":…}. Füge --pretty hinzu, um es zu lesen; der Exit-Code ist bei Fehlschlag ungleich null.

n0x doctor                                                    # environment check
n0x profile --file game.exe                                   # triage: sections, exports, engine hints
n0x function discover --file game.exe --pdata                 # exact .pdata discovery
n0x decomp pseudo --file game.exe --addr 0x140012a00 --style ssa --pretty
n0x provenance trace --pid 4821 --addr 0x1a2b3c40 --kind write --pretty

Dieselben Befehle laufen auf einem Live---pid, einer statischen --file, einem erfassten --snapshot oder einem entfernten Prozess über SSH. Es ist gewöhnliche Unix-Plumbing — n0x function discover --file game.exe --pdata | jq -r '.data.functions[].va' speist den nächsten Befehl. n0x guide listet alle 113 Befehle auf, generiert aus der Binärdatei, sodass sie nie driftet — und ein Test lässt den Build fehlschlagen, wenn diese Zahl es tut.

Aus einem Agenten: Richte jeden MCP-Client auf n0xis-mcp — 25 Tools, die identische {ok,data,meta}-Hülle zurückgeben, JSON-RPC über stdio.

{ "mcpServers": { "n0xis": { "command": "/path/to/n0xis-mcp" } } }

Was es tut

  • Dekompilieren — ein optimierender SSA-Decompiler (Memory-SSA, Phi-Web-Variablen-Coalescing, vollständige SSA-Destruktion, exakte Verzweigungsbedingungen), dessen Optimierer jede vorgenommene Umschreibung meldet (--explain: welcher Sub-Pass was geändert hat, an welcher Adresse), keine Blackbox-Antwort.
  • Live-Speicher scannen — Wert-/Zeiger-/AOB-Scanning mit snapshot-gestützter Eingrenzung, Freeze, Code-Cave-Hooks. die vollständige Scan- → Eingrenzen- → Freeze- → Patch-Schleife.
  • Überwachen & erklären — Software-/Hardware-/bedingte Breakpoints und ein echter prozessübergreifender, entrollter Call-Stack; das Rohmaterial, auf dem Provenance aufbaut.
  • Namen wiederherstellen — C++-Klassen aus RTTI auf beiden ABIs (MSVC .rdata-Ketten und Itanium _ZTV-Symbole), .NET NativeAOT RVA ↔ Namespace.Type.Method, LuaJIT, Bitsquid, IL2CPP — sodass ein gestripptes Image wie Quellcode liest, nicht wie sub_XXXX.
  • Persistieren & diffen — .n0xt-Tabellen, versionierte Annotationen, content-addressed Caching, Funktions-/Versions-Diffing.

Windows und Linux, PE und ELF, eine Pipeline — statische Dateien, Live-Prozesse, Snapshots und entfernte Ziele fließen alle durch dieselben Pässe und dasselbe versionierte JSON.

Es gibt niemals ML-Nichtdeterminismus im Kern. Eine Desktop-GUI lebt in einem separaten Repo: n0xis-gui.

Status

Alpha. Jede Aussage unten ist eine Messung gegen eine Quelle außerhalb des Tools — den Kernel, die eigenen Tabellen des Images oder den Zielprozess selbst. Wo es keine solche Quelle gibt, wird das gesagt, denn implementiert und verifiziert sind nicht dieselbe Aussage.

Live-Speicher, gegen ein Wegwerf-Ziel, das bekannte Werte platziert:

  • Linux — 29 von 31 Befehlen gegen /proc/<pid>/mem gemessen, einer falsch und behoben. Die anderen zwei sind Windows-only und verweigern dies mit entsprechender Angabe. Der eine falsche war scan dissect, der die Breite eines Feldes vor seiner Ausrichtung wählte und so eine Struktur vier Bytes phasenverschoben ab seinem ersten Fehler an las: eines von sechs Feldern richtig gegen ein Layout, das aus seiner eigenen Quelle bekannt ist, fünf von sechs danach.
  • Windows 11 — 21 von 23 Prüfungen gemessen, 0 falsch, mit dem Ziel selbst als Orakel. ui focus findet korrekt kein Fenster auf einem Konsolen-Ziel; stack backtrace ist Linux-only — die eine Stelle, an der der Linux-Adapter voraus ist.

Der Decoder, gegen einen unabhängigen Disassembler — das Fundament, auf dem alles andere steht, und bis jetzt nur durch die darauf aufbauenden Pässe geprüft, die alle denselben Stream lesen:

  • x86: Instruktions-Grenzen verglichen mit objdump. Drei zweckgebaute Formen exakt, 20 000 Instruktionen einer Shared Library und 20 000 einer 32-Bit-System-DLL, null Unstimmigkeiten und null Grenzen, die eine Seite allein hatte. Erweitert auf 60 000 Instruktionen einer 334 MB großen gestrippten Browser-Binärdatei: 2 Unstimmigkeiten, beide innerhalb eines ASCII-Strings, der in .text eingebettet ist, wo die Referenz selbst (bad) dekodiert — kein Code, und keine der beiden Lesarten ist die richtige.
  • AArch64: Mnemonics verglichen mit llvm-objdump (festbreite Kodierungen machen Grenzen bedeutungslos). Siehe die ARM64-Zeile unten.
  • AArch64, der Kodierungsraum statt Compiler-Output: 600 deterministische Wörter beurteilt von llvm-mc --mattr=+all und von n0xis. 241 bezeichnen beide als Instruktion, 304 lehnen beide ab — und 48 (8,0 %) sind reservierte Kodierungen, die n0xis als Instruktionen liest, mit 7 (1,2 %) echten Instruktionen, die es ablehnt (meist LSE-Atomics). Drei der 48 wurden von Hand dekodiert und sind tatsächlich UNALLOCATED. Diese Lücke wird durch eine Schranke gehalten, die fehlschlägt, wenn sie wächst, und hier genannt statt ausgelassen: ein reserviertes Wort, das als Instruktion gelesen wird, verwandelt Daten in ein plausibles Programm.

Funktionsausdehnungen, gegen die eigene Unwind-Tabelle des Images und die Exportliste des Linkers:

  • jedes FDE-start..end aus objdump --dwarf=frames gleich der wiederhergestellten Ausdehnung — 3 787 auf dieser Maschine verglichen (10 + libc's 3 777), Start und Ende, exakt; separat gemessen bei 15 467 und 14 355 auf zwei großen Bibliotheken.
  • 0 exportierte Einstiegspunkte verpasst von der Funktionsliste: 10 von 10 auf der Orakel-Form und 2 323 von 2 323 innerhalb des gescannten Fensters von libc.
Tool herunterladen