Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
tenet — Um Explorador de Rastros para Engenheiros Reversos | Kitploit
Ferramentas/GitHubGitHub/gaasedelen/tenet
Análise Dinâmica (Sandboxing)Engenharia ReversaDepuradoresAnálise de Binários
GitHubgaasedelen/tenet

tenet

Um Explorador de Rastros para Engenheiros Reversos

Ver Repositório
1.5k16926há 5 anosRevisado 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

Tenet - Um Explorador de Traços para Engenheiros Reversos

Explorador de Traços Tenet

Visão Geral

Tenet é um plugin do IDA Pro para explorar traços de execução. O objetivo deste plugin é fornecer controles mais naturais e humanos para navegar por traços de execução em um determinado binário. A base deste trabalho decorre do desejo de pesquisar métodos novos ou inovadores para examinar e destilar padrões complexos de execução em software.

Para mais contexto sobre este projeto, por favor leia o blogpost sobre seu lançamento inicial.

Agradecimentos especiais ao QIRA / geohot e outros pela inspiração.

Lançamentos

  • v0.2 -- Detecção de base de imagem, visualização de células, refatoração de breakpoints, correções de bugs.
  • v0.1 -- Lançamento inicial

Instalação

Tenet é um plugin Python 3 multiplataforma (Windows, macOS, Linux). Ele não possui dependências de terceiros, tornando o código portátil e fácil de instalar.

  1. No console Python do seu descompilador, execute o seguinte comando para encontrar o diretório de plugins:

    • IDA Pro: import idaapi, os; os.path.join(idaapi.get_user_idadir(), "plugins")
  2. Copie o conteúdo da pasta /plugins/ deste repositório para o diretório listado.

  3. Reinicie seu descompilador.

Este plugin é suportado apenas para IDA 7.5 e versões posteriores.

Uso

Uma vez instalado corretamente, uma nova entrada de menu estará disponível no descompilador. Ela pode ser usada para carregar traços de execução coletados externamente no Tenet.

Carregar traço Tenet

Como este é o lançamento inicial, o Tenet aceita apenas traços de texto simples legíveis por humanos. Consulte o tracing readme neste repositório para informações adicionais sobre o formato do traço, limitações e traçadores de referência.

Exploração Bidirecional

Ao usar o Tenet, o plugin 'pinta' trilhas para indicar o fluxo de execução para frente (azul) e para trás (vermelho) a partir da sua posição atual no traço de execução ativo.

Trilhas Tenet

Para avançar ou retroceder no tempo, basta rolar enquanto passa o mouse sobre a linha do tempo no lado direito do descompilador. Para passar por cima de chamadas de função, segure SHIFT enquanto rola.

Linha do Tempo do Traço

A linha do tempo do traço será ancorada no lado direito do descompilador. Este widget é usado para visualizar diferentes tipos de eventos ao longo da linha do tempo do traço e realizar navegação básica conforme descrito acima.

Ampliando a linha do tempo do traço

Ao clicar e arrastar pela linha do tempo, é possível ampliar uma seção específica do traço de execução. Esta ação pode ser repetida quantas vezes forem necessárias para alcançar a granularidade desejada.

Pontos de Interrupção de Execução

Clicar duas vezes no ponteiro de instrução na janela de registradores o destacará em vermelho, revelando todos os locais onde a instrução foi executada ao longo da linha do tempo do traço.

Colocando um ponto de interrupção na instrução atual

Para pular entre execuções, role para cima ou para baixo enquanto passa o mouse sobre o ponteiro de instrução destacado.

Além disso, você pode clicar com o botão direito na listagem de desmontagem e selecionar uma das entradas de menu baseadas em navegação para buscar rapidamente a execução de uma instrução de interesse.

Buscando a primeira execução de uma instrução

A tecla de atalho nativa do IDA F2 também pode ser usada para definir pontos de interrupção em instruções arbitrárias.

Pontos de Interrupção de Memória

Ao clicar duas vezes em um byte na visualização de pilha ou memória, você verá instantaneamente todas as leituras/escritas para aquele endereço visualizadas ao longo da linha do tempo do traço. Amarelo indica uma leitura de memória, azul indica uma escrita de memória.

Explorando acessos à memória usando pontos de interrupção de memória

Os pontos de interrupção de memória podem ser navegados usando a mesma técnica descrita para pontos de interrupção de execução. Clique duas vezes em um byte e role enquanto passa o mouse sobre o byte selecionado para posicionar o traço em cada um de seus acessos.

Clicar com o botão direito em um byte de interesse fornecerá opções para buscar entre leitura / escrita / acesso de memória, se houver uma ação de navegação específica em mente.

Busca na memória

Para navegar pela visualização de memória para um endereço arbitrário, clique na visualização de memória e pressione G para inserir um endereço ou símbolo do banco de dados para posicionar a visualização.

Pontos de Interrupção de Região

É possível definir um ponto de interrupção de memória em uma região de memória destacando um bloco de memória e clicando duas vezes nele para definir um ponto de interrupção de acesso.

Pontos de interrupção de acesso a região de memória

Assim como nos pontos de interrupção de memória normais, passar o mouse sobre a região e rolar pode ser usado para percorrer os acessos feitos à região de memória selecionada.

Busca de Registrador

Em engenharia reversa, é bastante comum encontrar situações em que você se pergunta "Qual instrução definiu este registrador com seu valor atual?"

Usando o Tenet, você pode buscar retroativamente essa instrução com um único clique.

Buscando a escrita anterior do registrador

Buscar retroativamente é de longe a direção mais comum para navegar pelas mudanças de registrador... mas para destreza, você também pode buscar adiante para a próxima atribuição de registrador usando a seta azul à direita do registrador.

Shell de Timestamp

Um 'shell' simples é fornecido para navegar para timestamps específicos no traço. Colar (ou digitar...) um timestamp no shell com ou sem vírgulas é suficiente.

Navegando pelo traço usando o shell de timestamp

Baixar ferramenta