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
NtTrace — Un programa similar a strace para la API 'nativa' de Windows | Kitploit
Herramientas/GitHubGitHub/rogerorr/nttrace
Análisis Dinámico de Código (DAST)Ingeniería InversaPruebas de Seguridad de APIsDepuradoresAnálisis de Malware
GitHubrogerorr/nttrace

NtTrace

Un programa similar a strace para la API 'nativa' de Windows

Ver Repositorio
38849hace 1 mesRevisado 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

Archivo readme de NtTrace

Vea también http://rogerorr.github.io/NtTrace/

Contenido

  • Readme.md - este archivo
  • NtTrace.cfg - archivo de configuración por defecto para NtTrace
  • NtTrace.ico - archivo de icono
  • NtTrace.mak - archivo make para el símbolo del sistema de Microsoft Visual Studio
  • NtTrace.rc - archivo de recursos
  • src - archivos fuente
  • include - archivos de inclusión
  • version.rc - recurso de versión
  • Gdi32Trace.cfg - archivo de configuración para llamadas nativas GDI
  • User32Trace.cfg - archivo de configuración para llamadas nativas USER32

Instrucciones de compilación

Necesitará la versión de 64 bits y/o la de 32 bits de NtTrace, la que coincida con su(s) aplicación(es) objetivo

  • vaya al directorio raíz
  • Ejecute scripts\build-vs-x64.bat o scripts\build-vs-x86.bat para compilar la versión de 64 bits o 32 bits, respectivamente.

o

  • Inicie el "Símbolo del sistema de herramientas nativas x64 para VS2022" (64 bits) o el "Símbolo del sistema para desarrolladores de VS2022" (32 bits)
  • vaya al directorio raíz
  • ejecute nmake /f NtTrace.mak

o

  • Inicie un símbolo del sistema de Windows
  • vaya al directorio raíz
  • Configure el entorno VC de destino
  • Ej. "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
  • o "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x86
  • ejecute nmake /f NtTrace.mak

Ejecución de NtTrace

NtTrace está diseñado para ejecutarse desde la línea de comandos.

Se puede usar para ejecutar un programa, con argumentos si es necesario. Por ejemplo:
NtTrace -filter File cmd /c echo hello

o para adjuntarse a un proceso existente por PID o, usando la opción -a, por nombre. Por ejemplo: NtTrace 1234 o NtTrace -a notepad

Ejecute NtTrace -h para obtener una lista completa de opciones.

Llamadas GDI y de usuario

Por defecto, NtTrace apunta a la API nativa de Windows expuesta a través de NtDll.dll

También se proporcionan archivos de configuración para muchos de los puntos de entrada que soportan la interfaz gráfica de Windows:

Gdi32Trace.cfg para la Interfaz de Dispositivo Gráfico

User32Trace.cfg para la Interfaz de Usuario

Puede seleccionar uno de estos, en lugar del predeterminado NtTrace.cfg, usando el argumento de línea de comandos -config.

Nota sobre DbgHelp.dll

Windows incluye DbgHelp.dll en el directorio system32. Sin embargo, a veces hay versiones más recientes de esta DLL disponibles de Microsoft en sus SDKs.

La versión de la DLL instalada con el sistema operativo tiende a tener prioridad sobre una versión más reciente que se pueda descargar.

Si descubre que necesita una versión más reciente que la instalada en el directorio del sistema, simplemente puede copiar la versión más reciente de DbgHelp.dll en el mismo directorio donde se encuentra NtTrace.exe. (También necesitará copiar SymSrv.dll y SrcSrv.dll)

Cómo funciona

Tecnología

NtTrace funciona utilizando la interfaz de depuración de Windows para colocar puntos de interrupción en NtDll alrededor de las llamadas nativas de Windows al kernel. Cada vez que se alcanza un punto de interrupción, NtTrace lee los argumentos pasados a/valores devueltos por la llamada asociada.

Funciona a nivel de usuario y solo afecta al proceso específico (y sus hijos). No se intenta entrar al kernel. Esta fue una decisión de diseño deliberada, ya que significa que la herramienta se puede usar sin requerir derechos de administrador ni permiso para instalar controladores de dispositivos. Sin embargo, esto también significa que la herramienta no detectará:

  • las llamadas al kernel realizadas por controladores de dispositivos en nombre de una aplicación
  • cualquier uso directo del mecanismo int 2e, syscall o sysenter

NtTrace también, por defecto, rastrea los procesos hijos del proceso inicial iniciado; la opción -pid agregará el Id. del proceso a cada línea de salida para ayudar a identificar qué proceso realizó qué llamadas. La opción -only suprime el rastreo de procesos hijos.

También maneja aplicaciones multiproceso (y la opción -tid ayudará a identificar qué hilo está realizando cada llamada). Sin embargo, tenga en cuenta que, dado que la interfaz de depuración de Windows está basada en eventos, si varios hilos realizan llamadas simultáneamente, el rastreo se serializará.

Por defecto, se rastrean las llamadas en NtDll; los archivos de configuración para Gdi32 y User32 seleccionan una DLL de destino diferente. NtTrace actualmente no soporta el rastreo simultáneo de diferentes tipos de llamadas al sistema.

Configuración

La configuración para las llamadas nativas se encuentra en NtTrace.cfg y este archivo se analiza cuando el programa se inicia. Tenga en cuenta que diferentes versiones de Windows soportan diferentes conjuntos de llamadas.

Algunas de las funciones nativas están documentadas oficialmente por Microsoft, pero muchas no están documentadas. La lista (casi) completa se obtuvo mediante una combinación de trabajo de detective sobre las funciones y de sitios web, como ReactOS.

Cada función se asigna a una categoría, y se puede filtrar por nombre de función (coincidencia parcial) y categoría de función.

Por defecto, NtTrace rastrea al regresar de la llamada al sistema, pero la opción -pre se puede usar para rastrear también antes de la llamada. Esto puede ser útil si, por ejemplo, la misma estructura se usa para un búfer de solicitud y respuesta.


$Id: Readme.md 2542 2025-01-21 23:15:34Z roger $
Descargar herramienta