Was macht symbolische-ausfuehrungswerkzeuge?
Spielbuch für symbolische Ausführung und Constraint-Lösung. Verwende es bei der Lösung von CTF-Reversing-Challenges, der Wiederherstellung von Schlüsseln, dem Umgehen von Prüfungen oder der Automatisierung von Binäranalysen mit angr, Z3 oder Unicorn Engine.
Überblick
Dieses Repository enthält ein Set von Werkzeugen und Skripten, die symbolische Ausführung und Constraint-Lösung für Reverse Engineering und Sicherheitsforschung nutzen. Die Werkzeuge sind darauf ausgelegt, mit angr, Z3 und Unicorn Engine zusammenzuarbeiten, um eine flexible und leistungsstarke Analyseumgebung zu bieten.
Funktionen
- Symbolische Ausführung: Verwende angr, um symbolische Pfade durch Binärdateien zu finden und Einschränkungen zu identifizieren.
- Constraint-Lösung: Nutze Z3, um komplexe Constraints zu lösen und Werte zu extrahieren.
- Binäremulation: Simuliere Binärausführung mit Unicorn Engine, um dynamische Analyse durchzuführen.
- Automatisierung: Automatisiere sich wiederholende Aufgaben in CTF-Challenges und Sicherheitsanalysen.
Voraussetzungen
- Python 3.8 oder höher
- angr (>= 9.0)
- Z3-Solver (>= 4.8)
- Unicorn Engine (>= 1.0)
Installation
pip install angr z3-solver unicorn
Verwendung
Beispiel: Symbolische Ausführung mit angr
import angr
proj = angr.Project('beispiel_binär')
state = proj.factory.entry_state()
simgr = proj.factory.simulation_manager(state)
simgr.explore(find=0x400000)
Beispiel: Constraint-Lösung mit Z3
from z3 import *
x = BitVec('x', 32)
s = Solver()
s.add(x > 10)
s.add(x < 20)
print(s.check())
print(s.model())
Lizenz
MIT