
Assistent für Schwachstellenforschung, der Aufrufe potenziell unsicherer API-Funktionen in einer Binärdatei lokalisiert.
"Der Weg zu ausnutzbaren Bugs ist mit nicht ausnutzbaren Bugs gepflastert."
-- Mark Dowd
Rhabdomancer ist ein blitzschnelles IDA-Headless-Plugin, das Aufrufe potenziell unsicherer API-Funktionen in einer Binärdatei lokalisiert. Auditoren können von diesen Kandidatenpunkten aus zurückverfolgen, um Pfade zu finden, die Zugriff auf nicht vertrauenswürdige Eingaben ermöglichen.

conf/rhabdomancer.toml angepasst werden.Der einfachste Weg, die neueste Version zu erhalten, führt über crates.io:
export IDADIR=/path/to/ida # if not set, the build script will check common locations
cargo install rhabdomancer
$env:LIBCLANG_PATH="\path\to\clang+llvm\bin"
$env:PATH="\path\to\ida;$env:PATH"
$env:IDADIR="\path\to\ida" # if not set, the build script will check common locations
cargo install rhabdomancer
Alternativ können Sie aus dem Quellcode bauen:
git clone --depth 1 https://github.com/0xdea/rhabdomancer
cd rhabdomancer
export IDADIR=/path/to/ida # if not set, the build script will check common locations
cargo build --release
git clone --depth 1 https://github.com/0xdea/rhabdomancer
cd rhabdomancer
$env:LIBCLANG_PATH="\path\to\clang+llvm\bin"
$env:PATH="\path\to\ida;$env:PATH"
$env:IDADIR="\path\to\ida" # if not set, the build script will check common locations
cargo build --release
conf/rhabdomancer.toml an. Sie können den Standardspeicherort der Konfigurationsdatei überschreiben, indem Sie die Umgebungsvariable RHABDOMANCER_CONFIG setzen.IDADIR gesetzt ist, wenn sich Ihre IDA-Installation an einem nicht standardmäßigen Speicherort befindet.rhabdomancer <binary_file>
.i64-IDB-Dateien werden aktualisiert; andernfalls wird eine neue IDB-Datei erstellt..i64-IDB-Datei mit IDA.View > Open subviews > Bookmarks[!NOTE] Rhabdomancer fügt an den markierten Aufrufpositionen außerdem Kommentare hinzu.
Offiziell wird nur die neueste IDA-Version unterstützt, aber ältere Versionen funktionieren möglicherweise ebenfalls. Die folgende Tabelle fasst die jeweils neueste kompatible Version für jede IDA-Version zusammen:
[!NOTE] Weitere Informationen finden Sie in der Dokumentation von idalib-rs.
Die Entwicklung dieses Projekts wurde von den folgenden Organisationen unterstützt:
normalize_name zu erweitern, um weitere Fälle abzudecken.| IDA-Version | Neueste kompatible Version |
|---|
| v9.0.240925 | v0.2.4 |
| v9.0.241217 | v0.3.5 |
| v9.1.250226 | v0.6.2 |
| v9.2.250908 | v0.7.6 |
| v9.3.260213 | v0.8.1 |
| v9.3.260327 | v0.9.0 |
| v9.3.260421 | v0.9.3 |
| v9.4.260714 | aktuelle Version |