Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
auto-re-agent — Reconstruct and validate C/C++ code from compiled programs with AI. | Kitploit
Tools/GitHubGitHub/dryxio/auto-re-agent
Static AnalysisVulnerability AnalysisReverse EngineeringDebuggersBinary AnalysisLearning & EducationAI-Assisted ReversingBinary Exploitation
GitHubdryxio/auto-re-agent

auto-re-agent

Reconstruct and validate C/C++ code from compiled programs with AI.

Repository anzeigen
1.3k1559vor 5h 15mVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

re-agent

Autonomer Reverse-Engineering-Agent – quellcode-bewusste Reversier/Prüf-Schleife, Zielverifizierer, Parity-Engine und Ghidra-Backend.

Übersicht

Demo: YouTube

re-agent automatisiert einen Reverse-Engineering-Workflow, indem es eine Reversier/Prüf-Schleife mit Ghidra-Dekompilierung über ghidra-ai-bridge kombiniert. Die aktuelle Pipeline ruft während der Generierung auch den umliegenden Projektquellcode-Kontext ab und führt vor der Annahme von Prüfläufen einen konservativen strukturellen Verifizierer aus.

root@kitploit:~
re-agent reverse --class CTrain
    │
    ├── Config (re-agent.yaml + env + CLI)
    │   └── project_profile (stub_markers, hook_patterns, source_layout)
    │
    ├── Orchestrator (single / class runner)
    │   ├── Function Picker (ranks by caller count, filters completed)
    │   ├── Context Gatherer (decompile + xrefs + structs + source retrieval)
    │   │
    │   ├── Agent Loop (reverser → checker → fix, max N rounds)
    │   │   ├── LLM Providers: Claude | OpenAI-compatible APIs | Codex CLI
    │   │   └── Prompt Templates (customizable .md files)
    │   │
    │   ├── Objective Verifier (call-count + control-flow sanity checks)
    │   │
    │   ├── Parity Engine (GREEN/YELLOW/RED verification gate)
    │   │   ├── Source Indexer (C++ body parser)
    │   │   ├── 11 Heuristic Signals (all configurable/toggleable)
    │   │   └── Semantic Rules + Manual Approvals
    │   │
    │   └── Session State (JSON progress file)
    │
    └── RE Backend: ghidra-ai-bridge
        └── Capability flags → graceful degradation

Anforderungen

  • Python 3.10+
  • ghidra-ai-bridge – re-agent verwendet dies als Backend, um Funktionen zu dekompilieren, Querverweise abzurufen, Strukturen/Enums zu lesen und Ghidra abzufragen. Installieren Sie es und richten Sie es auf Ihr Ghidra-Projekt aus, bevor Sie re-agent reverse ausführen.
  • Ein unterstützter LLM-Setup:
    • ANTHROPIC_API_KEY für Claude
    • OPENAI_API_KEY für OpenAI-kompatible APIs
    • Ein lokaler codex CLI-Login für den Codex-Anbieter

Installation

root@kitploit:~
pip install auto-re-agent

Schnellstart

root@kitploit:~
# 1. Projektkonfiguration initialisieren
re-agent init

# 2. re-agent.yaml mit Ihren Projekteinstellungen bearbeiten

# 3. Eine einzelne Funktion reversieren
re-agent reverse --address 0x6F86A0

# 4. Alle Funktionen einer Klasse reversieren
re-agent reverse --class CTrain --max-functions 10

# 5. Parity-Prüfungen ausführen
re-agent parity --address 0x6F86A0

# 6. Fortschritt anzeigen
re-agent status

Konfiguration

re-agent verwendet ein mehrschichtiges Konfigurationssystem (höchste Priorität zuerst): CLI-Flags > Umgebungsvariablen (RE_AGENT_*) > re-agent.yaml > Standardwerte.

root@kitploit:~
llm:
  provider: claude           # claude | openai | openai-compat | codex
  model: claude-sonnet-4-5-20250929
  # api_key: set via RE_AGENT_LLM_API_KEY env var
  timeout_s: 1800

backend:
  type: ghidra-bridge
  cli_path: ~/ghidra-tools/ghidra

orchestrator:
  max_review_rounds: 4
  max_functions_per_class: 10
  objective_verifier_enabled: true

project_profile:
  source_root: ./source/game_sa
  hook_patterns:
    - 'RH_ScopedInstall\s*\(\s*(\w+)\s*,\s*(0x[0-9A-Fa-f]+)'
  stub_markers: ["NOTSA_UNREACHABLE"]
  stub_call_prefix: "plugin::Call"

Siehe docs/configuration.md für alle Optionen.

CLI-Referenz

BefehlBeschreibung
re-agent initre-agent.yaml-Konfigurationsdatei erstellen
re-agent reverse --address ADDREine einzelne Funktion reversieren
re-agent reverse --class CLASSAlle Funktionen einer Klasse reversieren
re-agent reverse --dry-runAnzeigen, was reversiert würde
re-agent parity --address ADDRParity-Prüfungen für eine Funktion ausführen
re-agent parity --filter REGEXParity-Prüfungen für passendes Muster ausführen
re-agent statusReversierungsfortschritt anzeigen
re-agent status --class CLASSFortschritt für eine bestimmte Klasse anzeigen

LLM-Anbieter

  • Claude (Anthropic SDK) – setzen Sie ANTHROPIC_API_KEY
  • OpenAI / OpenAI-kompatibel – setzen Sie OPENAI_API_KEY, optional base_url
  • Codex CLI – verwendet lokal codex exec mit ChatGPT-Anmeldedaten; kein API-Schlüssel erforderlich

Parity-Engine

Die Parity-Engine führt 11 konfigurierbare heuristische Signale aus, um zu überprüfen, ob der reversierte Code mit dem ursprünglichen Binärcode übereinstimmt:

SignalStufeBeschreibung
Fehlende QuelleROTKein Quellkörper für die eingehakte Funktion gefunden
Stub-MarkerROTQuelle enthält Stub-Marker (z. B. NOTSA_UNREACHABLE)
Trivialer StubROTStarker Plugin-Call-Anteil mit winzigem Körper und ohne Kontrollfluss
Große ASM, winzige QuelleROTASM >= 80 Anweisungen, aber Quelle <= 12 Zeilen
Plugin-Call-lastigGELBPlugin-Calls dominieren den Funktionskörper
Kurzer KörperGELBKörper hat weniger als 6 Zeilen
Niedrige Call-AnzahlGELBDekompilierung zeigt viele Callees, aber Quelle hat wenige
FP-EmpfindlichkeitGELBASM enthält Gleitkommaoperationen, Quelle jedoch nicht
Call-Anzahl-UnterschiedGELBQuell-Call-Anzahl weicht signifikant von ASM ab
NaN-LogikGELBDekompilierung enthält NaN-Behandlung, Quelle jedoch nicht
Inline-WrapperINFOFunktion ist ein dünner Inline-Wrapper

Zielverifizierer

Die Reversierungsschleife führt außerdem einen konservativen strukturellen Verifizierer aus, nachdem der LLM-Prüfer bestanden hat. Er blockiert die Annahme nur bei starken Abweichungen wie:

  • Lücken in der Call-Anzahl zwischen Kandidatencode und Dekompilierung/ASM
  • Kontrollflusslücken, bei denen dem Kandidaten offensichtlich Verzweigungen oder Schleifen fehlen

Dies ist bewusst enger gefasst als eine vollständige Äquivalenzprüfung, fängt aber offensichtliche Falschpositive ab, bevor sie als erfolgreiche Reversierungen aufgezeichnet werden.

Dies ist in der Praxis wichtig, da ein LLM-Prüfer immer noch fälschlicherweise Code als positiv bewerten kann, der plausibel aussieht, während die tatsächliche Verzweigungs- oder Call-Struktur des Binärcodes fehlt.

Sicherheit

  • Kein automatischer Commit: re-agent schreibt Code, aber commitet oder pusht nie
  • Begrenzte Wiederholungen: Harte Obergrenze für Korrekturschleifeniterationen (Standard: 4)
  • Deterministische Protokolle: Jeder LLM-Aufruf wird mit Zeitstempel protokolliert
  • Keine destruktiven Operationen: Löscht nie Dateien, ändert nie Git und führt keine Builds aus
  • Sitzungsisolierung: Fortschritt wird angehängt, nie überschrieben

Entwicklung

root@kitploit:~
git clone https://github.com/dryxio/auto-re-agent.git
cd auto-re-agent
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"

pytest tests/
ruff check src/
mypy src/re_agent/

Lizenz

MIT

Tool herunterladen