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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
tenet — Un Explorador de Trazas para Ingenieros Inversos | Kitploit
Herramientas/GitHubGitHub/gaasedelen/tenet
Análisis Dinámico (Sandboxing)Ingeniería InversaDepuradoresAnálisis de Binarios
GitHubgaasedelen/tenet

tenet

Un Explorador de Trazas para Ingenieros Inversos

Ver Repositorio
1.5k16926hace 5 añosRevisado 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

Tenet - Un Explorador de Trazas para Ingenieros Inversos

Explorador de Trazas Tenet

Descripción general

Tenet es un plugin para IDA Pro que permite explorar trazas de ejecución. El objetivo de este plugin es proporcionar controles más naturales y humanos para navegar por trazas de ejecución contra un binario dado. La base de este trabajo surge del deseo de investigar métodos nuevos o innovadores para examinar y destilar patrones de ejecución complejos en software.

Para más contexto sobre este proyecto, por favor lee el blogpost acerca de su lanzamiento inicial.

Agradecimientos especiales a QIRA / geohot y otros por la inspiración.

Lanzamientos

  • v0.2 -- Detección de imagen base, visualización de celdas, refactorización de puntos de interrupción, corrección de errores.
  • v0.1 -- Lanzamiento inicial

Instalación

Tenet es un plugin de Python 3 multiplataforma (Windows, macOS, Linux). No tiene dependencias de terceros, lo que hace que el código sea portátil y fácil de instalar.

  1. Desde la consola de Python de tu desensamblador, ejecuta el siguiente comando para encontrar su directorio de plugins:

    • IDA Pro: import idaapi, os; os.path.join(idaapi.get_user_idadir(), "plugins")
  2. Copia el contenido de la carpeta /plugins/ de este repositorio en el directorio indicado.

  3. Reinicia tu desensamblador.

Este plugin solo es compatible con IDA 7.5 y versiones posteriores.

Uso

Una vez instalado correctamente, aparecerá una nueva entrada de menú en el desensamblador. Se puede usar para cargar trazas de ejecución recolectadas externamente en Tenet.

Cargar traza Tenet

Como este es el lanzamiento inicial, Tenet solo acepta trazas de texto simples legibles por humanos. Consulta el readme de trazas en este repositorio para obtener información adicional sobre el formato de traza, limitaciones y trazas de referencia.

Exploración Bidireccional

Mientras usas Tenet, el plugin 'pintará' senderos para indicar el flujo de ejecución hacia adelante (azul) y hacia atrás (rojo) desde tu posición actual en la traza de ejecución activa.

Senderos de Tenet

Para avanzar o retroceder en el tiempo, simplemente desplázate mientras pasas el cursor sobre la línea de tiempo en el lado derecho del desensamblador. Para saltar llamadas a funciones, mantén presionado SHIFT mientras te desplazas.

Línea de Tiempo de la Traza

La línea de tiempo de la traza estará acoplada en el lado derecho del desensamblador. Este widget se utiliza para visualizar diferentes tipos de eventos a lo largo de la línea de tiempo de la traza y realizar navegación básica como se describió anteriormente.

Acercamiento en la línea de tiempo de la traza

Al hacer clic y arrastrar a través de la línea de tiempo, es posible acercar una sección específica de la traza de ejecución. Esta acción se puede repetir cualquier número de veces para alcanzar la granularidad deseada.

Puntos de Interrupción de Ejecución

Haciendo doble clic en el puntero de instrucción en la ventana de registros se resaltará en rojo, revelando todas las ubicaciones donde se ejecutó la instrucción a lo largo de la línea de tiempo de la traza.

Colocando un punto de interrupción en la instrucción actual

Para saltar entre ejecuciones, desplázate hacia arriba o hacia abajo mientras pasas el cursor sobre el puntero de instrucción resaltado.

Además, puedes hacer clic derecho en la lista de desensamblado y seleccionar una de las entradas de menú basadas en navegación para buscar rápidamente la ejecución de una instrucción de interés.

Buscando la primera ejecución de una instrucción

La tecla de acceso rápido F2 nativa de IDA también se puede usar para establecer puntos de interrupción en instrucciones arbitrarias.

Puntos de Interrupción de Memoria

Al hacer doble clic en un byte en las vistas de pila o memoria, verás instantáneamente todas las lecturas/escrituras en esa dirección visualizadas a lo largo de la línea de tiempo de la traza. El amarillo indica una lectura de memoria, el azul indica una escritura de memoria.

Explorando accesos a memoria usando puntos de interrupción de memoria

Los puntos de interrupción de memoria se pueden navegar utilizando la misma técnica descrita para los puntos de interrupción de ejecución. Haz doble clic en un byte y desplázate mientras pasas el cursor sobre el byte seleccionado para llevar la traza a cada uno de sus accesos.

Hacer clic derecho en un byte de interés te dará opciones para buscar entre lectura/escritura/acceso de memoria si tienes en mente una acción de navegación específica.

Búsqueda en memoria

Para navegar la vista de memoria a una dirección arbitraria, haz clic en la vista de memoria y presiona G para ingresar una dirección o un símbolo de la base de datos al cual dirigir la vista.

Puntos de Interrupción de Región

Es posible establecer un punto de interrupción de memoria en una región de memoria resaltando un bloque de memoria y haciendo doble clic en él para establecer un punto de interrupción de acceso.

Puntos de interrupción de acceso a región de memoria

Al igual que con los puntos de interrupción de memoria normales, pasar el cursor sobre la región y desplazarse se puede usar para recorrer los accesos realizados a la región de memoria seleccionada.

Búsqueda de Registros

En la ingeniería inversa, es bastante común encontrarse con situaciones en las que te preguntas "¿Qué instrucción estableció este registro a su valor actual?"

Usando Tenet, puedes buscar hacia atrás hasta esa instrucción con un solo clic.

Buscando la escritura anterior del registro

Buscar hacia atrás es, por mucho, la dirección más común para navegar a través de cambios en los registros... pero para mayor destreza también puedes buscar hacia adelante hasta la siguiente asignación de registro usando la flecha azul a la derecha del registro.

Shell de Marca de Tiempo

Descargar herramienta