Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/0xdea/haruspex
Análisis Estático de Código (SAST)Análisis de VulnerabilidadesIngeniería InversaAnálisis de Binarios
GitHub0xdea/haruspex

haruspex

Asistente de investigación de vulnerabilidades que extrae pseudocódigo del descompilador IDA Hex-Rays.

Ver Repositorio
13110hace 5 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

haruspex

build doc

"Hacking es la disciplina de cuestionar todas tus suposiciones todo el tiempo."

-- Dave Aitel

Haruspex es un plugin headless de IDA extremadamente rápido que extrae el pseudocódigo generado por el descompilador de IDA en un formato adecuado para importarlo en un IDE, o para ser analizado por herramientas de análisis estático como Semgrep, weggli o oneiromancer.

Características

  • Experiencia de usuario headless ultrarrápida gracias a IDA 9.x y a las bindings de Rust de idalib-rs.
  • Compatibilidad con binarios para cualquier arquitectura implementada por el descompilador Hex-Rays de IDA.
  • El pseudocódigo de cada función se almacena en un archivo separado en el directorio de salida para facilitar su inspección.
  • Los crates externos pueden invocar [decompile_to_file] para descompilar una función y guardar su pseudocódigo en disco.

Artículos

  • https://hex-rays.com/blog/streamlining-vulnerability-research-idalib-rust-bindings
  • https://hnsecurity.it/blog/streamlining-vulnerability-research-with-ida-pro-and-rust

Ver también

  • https://github.com/0xdea/ghidra-scripts/blob/main/Haruspex.java
  • https://github.com/0xdea/semgrep-rules
  • https://github.com/0xdea/weggli-patterns
  • https://docs.hex-rays.com/release-notes/9_0#headless-processing-with-idalib
  • https://github.com/idalib-rs/idalib
  • https://github.com/xorpse/parascope
  • https://hnsecurity.it/blog/automating-binary-vulnerability-discovery-with-ghidra-and-semgrep

Instalación

La forma más sencilla de obtener la última versión es a través de crates.io:

  1. Descarga, instala y configura IDA (ver https://hex-rays.com/ida-pro).
  2. Instala LLVM/Clang (ver https://rust-lang.github.io/rust-bindgen/requirements.html).
  3. En Linux/macOS, instala de la siguiente manera:
    root@kitploit:~
    export IDADIR=/path/to/ida # if not set, the build script will check common locations
    cargo install haruspex
    
    En Windows, en su lugar, usa los siguientes comandos:
    root@kitploit:~
    $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 haruspex
    

Compilación

Alternativamente, puedes compilar desde el código fuente:

  1. Descarga, instala y configura IDA (ver https://hex-rays.com/ida-pro).
  2. Instala LLVM/Clang (ver https://rust-lang.github.io/rust-bindgen/requirements.html).
  3. En Linux/macOS, compila de la siguiente manera:
    root@kitploit:~
    git clone --depth 1 https://github.com/0xdea/haruspex
    cd haruspex
    export IDADIR=/path/to/ida # if not set, the build script will check common locations
    cargo build --release
    
    En Windows, en su lugar, usa los siguientes comandos:
    root@kitploit:~
    git clone --depth 1 https://github.com/0xdea/haruspex
    cd haruspex
    $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
    

Uso

  1. Asegúrate de que IDA esté correctamente configurado con una licencia válida.
  2. Asegúrate de que la variable de entorno IDADIR esté definida si tu instalación de IDA se encuentra en una ubicación no estándar.
  3. Ejecuta de la siguiente manera:
    root@kitploit:~
    haruspex <binary_file>
    
  4. Encuentra el pseudocódigo extraído de cada función descompilada en el directorio binary_file.dec:
    root@kitploit:~
    vim <binary_file>.dec
    code <binary_file>.dec
    

Compatibilidad

Solo se admite oficialmente la última versión de IDA, aunque las versiones anteriores también pueden funcionar. La siguiente tabla resume la última versión compatible para cada versión de IDA:

[!NOTE] Consulta la documentación de idalib-rs para obtener más información.

Créditos

El desarrollo de este proyecto ha contado con el apoyo de las siguientes organizaciones:

  • HN Security
  • Hex-Rays a través de su Programa de Colaboradores

Historial de cambios

  • CHANGELOG.md

Tareas pendientes

  • Añadir extracción de tipos global y por función (ver este issue).
  • Añadir una prueba de regresión CI de Semgrep para asegurarse de que el porcentaje de líneas analizadas no disminuya.
  • ¿Usar la extensión .cpp en lugar de .c para generar el pseudocódigo (ver este issue)?
  • Integrar con el escaneo de Semgrep (ver https://github.com/0xdea/semgrep-rules).
  • Integrar con el escaneo de weggli (ver https://github.com/0xdea/weggli-patterns).
  • Mejorar la salida del descompilador en el estilo de HexRaysPyTools y abyss.
  • Implementar análisis en paralelo (ver https://github.com/fugue-re/fugue-mptp).
Descargar herramienta
Versión de IDAÚltima versión compatible
v9.0.240925v0.2.4
v9.0.241217v0.3.5
v9.1.250226v0.6.2
v9.2.250908v0.7.5
v9.3.260213v0.8.1
v9.3.260327v0.9.0
v9.3.260421v0.9.3
v9.4.260714versión actual