Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
EhTrace — ATrace es una herramienta para rastrear la ejecución de binarios en Windows. | Kitploit
Herramientas/GitHubGitHub/k2/ehtrace
Análisis Dinámico (Sandboxing)Análisis de CódigoExplotaciónIngeniería InversaDepuradoresFuzzingAnálisis de Binarios
GitHubk2/ehtrace

EhTrace

ATrace es una herramienta para rastrear la ejecución de binarios en Windows.

Ver Repositorio
2435026hace 11 mesesRevisado 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

EhTrace

LOGO

EhTrace (se pronuncia "ATrace") es un framework de instrumentación y trazado binario de alto rendimiento para Windows. Permite el análisis profundo en tiempo de ejecución de ejecutables de Windows sin necesidad de código fuente, modificaciones binarias o depuración tradicional.

Visión general

EhTrace aprovecha el manejo de excepciones vectoriales (VEH) de Windows y técnicas de block-stepping para proporcionar un trazado de ejecución completo con una sobrecarga mínima. A diferencia de las herramientas tradicionales de depuración o instrumentación, EhTrace opera completamente dentro del proceso y no requiere parches en los binarios objetivo.

Características principales

  • Modificación binaria cero: Traza la ejecución sin alterar el binario objetivo
  • Alto rendimiento: El paso por bloques (block stepping) en lugar del paso a paso logra aproximadamente 43 millones de eventos por segundo
  • Cobertura de código completa: Detección y seguimiento automático de bloques básicos
  • Monitorización del estado de los registros: Captura y analiza los estados de los registros durante la ejecución
  • No requiere modo de depuración: Funciona sin habilitar las capacidades de depuración/trazado MSR de la CPU
  • Operación dentro del proceso: Sobrecarga mínima de cambio de contexto en comparación con los depuradores tradicionales
  • Múltiples modos de instrumentación: Soporte para varios escenarios de trazado y análisis

Capacidades principales

  • Análisis del flujo de ejecución: Seguimiento de rutas de ejecución y flujo de control
  • Mapeo de cobertura de código: Generación de informes completos de cobertura de código
  • Defensa contra RoP: Detección y prevención de ataques de programación orientada a retorno (ROP) mediante el balanceo de llamadas y retornos
  • Depósito de claves (Key Escrow): Capacidades de interceptación y depósito de claves criptográficas
  • Integración con fuzzing: Instrumentación de fuzzing compatible con AFL (AWinAFL)
  • Resolución de símbolos: Carga y resolución automática de símbolos mediante DIA2

Arquitectura

flowchart TB
    subgraph Target["🎯 Target Process"]
        direction TB
        APP[Application Code]
        VEH[Vectored Exception Handler]
        style APP fill:#e1f5ff,stroke:#01579b,stroke-width:3px,color:#000
        style VEH fill:#fff3e0,stroke:#e65100,stroke-width:3px,color:#000
    end
    
    subgraph EhTrace["⚡ EhTrace Engine"]
        direction TB
        BLOCK[Block Stepper]
        DISASM[Capstone Disassembler]
        FIGHTERS[BlockFighters]
        CTX[Context Manager]
        style BLOCK fill:#f3e5f5,stroke:#4a148c,stroke-width:3px,color:#000
        style DISASM fill:#e8f5e9,stroke:#1b5e20,stroke-width:3px,color:#000
        style FIGHTERS fill:#ffebee,stroke:#b71c1c,stroke-width:3px,color:#000
        style CTX fill:#e0f2f1,stroke:#004d40,stroke-width:3px,color:#000
    end
    
    subgraph Output["📊 Analysis Output"]
        direction TB
        SHMEM[Shared Memory Log]
        GRAPHS[Visual Graphs]
        REPORTS[Coverage Reports]
        style SHMEM fill:#fce4ec,stroke:#880e4f,stroke-width:3px,color:#000
        style GRAPHS fill:#f1f8e9,stroke:#33691e,stroke-width:3px,color:#000
        style REPORTS fill:#fff8e1,stroke:#f57f17,stroke-width:3px,color:#000
    end
    
    APP -->|Exception| VEH
    VEH -->|Single Step| BLOCK
    BLOCK -->|Instruction| DISASM
    DISASM -->|Analysis| FIGHTERS
    FIGHTERS -->|State| CTX
    CTX -->|Events| SHMEM
    SHMEM -->|Data| GRAPHS
    SHMEM -->|Data| REPORTS
    
    style Target fill:#e3f2fd,stroke:#0d47a1,stroke-width:4px
    style EhTrace fill:#f3e5f5,stroke:#6a1b9a,stroke-width:4px
    style Output fill:#e8f5e9,stroke:#2e7d32,stroke-width:4px

Principios operativos principales

EhTrace opera a través de un pipeline sofisticado:

  1. 🛡️ Manejo de excepciones: Registro de un manejador de excepciones vectoriales (VEH)
  2. 👣 Block Stepping: Uso de excepciones de paso a paso en los límites de bloques básicos
  3. 🔍 Desensamblado: Aprovechamiento de Capstone para el análisis de instrucciones sobre la marcha
  4. 📝 Registro: Escritura de eventos de ejecución en memoria compartida para análisis externo
  5. ⚔️ Combate (Fighting): Aplicación de 'BlockFighters' configurables para tareas de seguridad y análisis

El framework mantiene el estado de ejecución por hilo utilizando estructuras de contexto especializadas y proporciona ganchos para instrumentación personalizable.

Rendimiento

graph LR
    subgraph Traditional["🐌 Traditional Debugger"]
        T1[Single Step]
        T2[Context Switch]
        T3[Kernel Mode]
        T4[~1M events/sec]
        style T1 fill:#ffcdd2,stroke:#c62828,stroke-width:2px,color:#000
        style T2 fill:#ffcdd2,stroke:#c62828,stroke-width:2px,color:#000
        style T3 fill:#ffcdd2,stroke:#c62828,stroke-width:2px,color:#000
        style T4 fill:#ef5350,stroke:#b71c1c,stroke-width:3px,color:#fff
    end
    
    subgraph EhTrace["⚡ EhTrace"]
        E1[Block Step]
        E2[In-Process]
        E3[User Mode]
        E4[~43M events/sec]
        style E1 fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px,color:#000
        style E2 fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px,color:#000
        style E3 fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px,color:#000
        style E4 fill:#66bb6a,stroke:#1b5e20,stroke-width:3px,color:#fff
    end
    
    T1 --> T2 --> T3 --> T4
    E1 --> E2 --> E3 --> E4
    
    style Traditional fill:#ffebee,stroke:#d32f2f,stroke-width:3px
    style EhTrace fill:#e8f5e9,stroke:#388e3c,stroke-width:3px

EhTrace logra un alto rendimiento mediante varias optimizaciones:

  • 🎯 Branch stepping frente a single stepping: Solo traza en los límites de bloques básicos
  • ⚡ Operación dentro del proceso: Sin cambios de contexto del depurador
  • ⏱️ Gestión temporal del estado: VEH mantiene naturalmente el estado de ejecución
  • 💾 Registro eficiente: Búferes de memoria compartida para grabación de eventos de alto rendimiento

📊 Benchmark: 428.833.152 eventos (32 bytes cada uno) capturados en 10 segundos = ~43M eventos/seg

Ejemplo de salida

CSW16 demo trazando notepad.exe sin símbolos:

Gráfico de llama sin símbolos

Gráfico de bloques básicos con desensamblado de Capstone:

Gráfico de bloques básicos con desensamblado

Visualización de cobertura de código:

Visualización de cobertura de código

Componentes

Descargar herramienta