
Assistant de recherche de vulnérabilités qui localise les appels à des fonctions API potentiellement non sécurisées dans un fichier binaire.
"La route des bugs exploitables est pavée de bugs inexploitables."
-- Mark Dowd
Rhabdomancer est un plugin IDA headless extrêmement rapide qui localise les appels à des fonctions d'API potentiellement vulnérables dans un fichier binaire. Les auditeurs peuvent remonter la trace à partir de ces points candidats pour trouver des chemins permettant d'accéder à des entrées non fiables.

conf/rhabdomancer.toml.Le moyen le plus simple d'obtenir la dernière version est via 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
Vous pouvez également compiler à partir des sources :
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. Vous pouvez remplacer l'emplacement du fichier de configuration par défaut en définissant la variable d'environnement RHABDOMANCER_CONFIG.IDADIR est définie si votre installation d'IDA se trouve dans un emplacement non standard.rhabdomancer <binary_file>
.i64 existant sera mis à jour ; sinon, un nouveau fichier IDB sera créé..i64 résultant avec IDA.View > Open subviews > Bookmarks[!NOTE] Rhabdomancer ajoute également des commentaires aux emplacements d'appels marqués.
Seule la dernière version d'IDA est officiellement prise en charge, mais les versions antérieures peuvent également fonctionner. Le tableau suivant résume la dernière version compatible pour chaque version d'IDA :
[!NOTE] Consultez la documentation idalib-rs pour plus d'informations.
Le développement de ce projet a été soutenu par les organisations suivantes :
normalize_name pour couvrir davantage de cas.| Version d'IDA | Dernière version compatible |
|---|
| 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 | version actuelle |