Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
NtTrace — Um programa do tipo strace para a API 'nativa' do Windows | Kitploit
Ferramentas/GitHubGitHub/rogerorr/nttrace
Análise Dinâmica de Código (DAST)Engenharia ReversaTestes de Segurança de APIsDepuradoresAnálise de Malware
GitHubrogerorr/nttrace

NtTrace

Um programa do tipo strace para a API 'nativa' do Windows

Ver Repositório
38849há 29 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

Arquivo readme do NtTrace

Veja também http://rogerorr.github.io/NtTrace/

Conteúdo

  • Readme.md - este arquivo
  • NtTrace.cfg - arquivo de configuração padrão para o NtTrace
  • NtTrace.ico - arquivo de ícone
  • NtTrace.mak - make file para o prompt de comando do Microsoft Visual Studio
  • NtTrace.rc - arquivo de recurso
  • src - arquivos fonte
  • include - arquivos de inclusão
  • version.rc - recurso de versão
  • Gdi32Trace.cfg - arquivo de configuração para chamadas nativas GDI
  • User32Trace.cfg - arquivo de configuração para chamadas nativas USER32

Instruções de compilação

Você precisará da versão de 64 bits e/ou 32 bits do NtTrace, dependendo da(s) sua(s) aplicação(ões) alvo

  • navegue para este diretório de nível superior
  • Execute scripts\build-vs-x64.bat ou scripts\build-vs-x86.bat para compilar a versão de 64 bits ou 32 bits, respectivamente.

ou

  • Inicie o "x64 Native Tools Command Prompt for VS2022" (64 bits) ou "Developer Command Prompt for VS2022" (32 bits)
  • navegue para este diretório de nível superior
  • execute nmake /f NtTrace.mak

ou

  • Inicie um prompt de comando do Windows
  • navegue para este diretório de nível superior
  • Configure o ambiente VC alvo
  • Exemplo "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
  • ou "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x86
  • execute nmake /f NtTrace.mak

Executando o NtTrace

O NtTrace foi projetado para ser executado a partir da linha de comando.

Pode ser usado para executar um programa, com argumentos se necessário. Por exemplo:
NtTrace -filter File cmd /c echo hello

ou para anexar a um processo existente por PID ou, usando a opção -a, por nome. Por exemplo: NtTrace 1234 ou NtTrace -a notepad

Execute NtTrace -h para obter uma lista completa de opções.

Chamadas Gdi e User

Por padrão, o NtTrace tem como alvo a API nativa do Windows exposta através do NtDll.dll

Arquivos de configuração também são fornecidos para muitos dos pontos de entrada que suportam a interface gráfica do Windows:

Gdi32Trace.cfg para a Interface de Dispositivo Gráfico

User32Trace.cfg para a Interface de Usuário

Você pode selecionar um deles, em vez do NtTrace.cfg padrão, usando o argumento de linha de comando -config.

Nota sobre DbgHelp.dll

O Windows inclui DbgHelp.dll no diretório system32. No entanto, versões mais recentes desta DLL às vezes estão disponíveis pela Microsoft em seus SDKs.

A versão da DLL instalada com o sistema operacional tende a ter precedência sobre uma versão mais recente que possa ser baixada.

Se você descobrir que precisa de uma versão mais recente do que a instalada no diretório do sistema, você pode simplesmente copiar a versão posterior de DbgHelp.dll para o mesmo diretório onde NtTrace.exe está. (Você também precisará copiar SymSrv.dll e SrcSrv.dll)

Como funciona

Tecnologia

O NtTrace funciona usando a interface de depuração do Windows para colocar pontos de interrupção no NtDll em torno das chamadas nativas do Windows para o kernel. Cada vez que um ponto de interrupção é atingido, o NtTrace lê os argumentos passados para / valores retornados pela chamada associada.

Ele funciona no nível do usuário e afeta apenas o processo específico (e seus filhos). Nenhuma tentativa é feita para entrar no kernel. Esta foi uma decisão de design deliberada, pois significa que a ferramenta pode ser usada sem exigir direitos administrativos ou permissão para instalar drivers de dispositivo. No entanto, isso também significa que a ferramenta não capturará:

  • chamadas do kernel feitas por drivers de dispositivo em nome de uma aplicação
  • qualquer uso direto do mecanismo int 2e, syscall ou sysenter

O NtTrace também, por padrão, rastreia processos filhos do processo inicial iniciado; a opção -pid adicionará o ID do processo a cada linha de saída para ajudar a identificar qual processo fez quais chamadas. A opção -only suprime o rastreamento de processos filhos.

Ele também lida com aplicações multi-thread (e a opção -tid ajudará a identificar qual thread está fazendo cada chamada). No entanto, observe que, como a interface de depuração do Windows é baseada em eventos, se múltiplas threads fizerem chamadas simultaneamente, o rastreamento será serializado.

Por padrão, as chamadas em NtDll são rastreadas; os arquivos de configuração para o Gdi32 e User32 selecionam uma DLL alvo diferente. O NtTrace atualmente não suporta o rastreamento simultâneo de diferentes tipos de chamadas de sistema.

Configuração

A configuração para as chamadas nativas é mantida em NtTrace.cfg e este arquivo é analisado quando o programa é iniciado. Observe que diferentes versões do Windows suportam diferentes conjuntos de chamadas.

Algumas das funções nativas são oficialmente documentadas pela Microsoft, mas muitas são não documentadas. A lista (quase) completa foi obtida através de uma combinação de trabalho investigativo sobre as funções e de sites, como o ReactOS.

Cada função é atribuída a uma categoria, e a filtragem pode ser feita por nome de função (correspondência parcial) e categoria de função.

Por padrão, o NtTrace rastreia no retorno da chamada de sistema, mas a opção -pre pode ser usada para rastrear antes da chamada também. Isso pode ser útil se, por exemplo, a mesma estrutura é usada para um buffer de requisição e resposta.


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