
Depuração de viagem no tempo — plugin para IDA
⚠️ Atenção usuários do IDA 8: usar o ttddbg com o IDA 8 exige uma solução alternativa por enquanto, consulte Problemas conhecidos
Este plugin adiciona um novo depurador ao IDA que suporta carregar rastros de Time Travel Debugging gerados usando o WinDBG Preview.

Este plugin suporta tanto rastros x86 quanto x64 e, por extensão, o IDA e o IDA64.
A instalação do plugin pode ser feita usando o instalador da página de releases. O instalador instalará automaticamente as dependências necessárias, desde que você tenha uma cópia do WinDBG Preview instalada.
Uma vez instalado, você pode usar o plugin selecionando o depurador ttddbg na interface do IDA e especificando seu arquivo *.run como o "Aplicativo". Para ajuda sobre como gerar um arquivo .run, consulte .
HOWTO_TIME_TRAVEL.md

| Icon | Action |
|---|---|
![]() | Ir para o ponto de interrupção anterior |
![]() | Simular uma execução completa do programa |
![]() | Passo único para trás (RIP - uma instrução) |
![]() | Gerenciar a linha do tempo de eventos interessantes (Threads Criadas/Encerradas, Módulo Carregado/Descarregado, Exceções, Personalizado) |
![]() | Gerenciar as funções atualmente rastreadas |
![]() | Visualizar eventos de rastreamento |
Desde a versão 1.1.0, o ttddbg suporta um novo recurso que chamamos de "function tracing". Durante a visualização de depuração, é possível marcar funções para rastreamento clicando com o botão direito nelas nas interfaces Functions ou Module. Uma vez que uma função é rastreada, qualquer chamada a essa função e qualquer instrução return serão registradas na nova janela Trace events.
Usando as informações de função do seu trabalho de engenharia reversa, o ttddbg também extrai os parâmetros passados para a função, bem como seu valor de retorno. Os símbolos são automaticamente formatados de forma legível com base nas informações disponíveis ao IDA, como valores de enumeração.
picture_search, que é novo no IDA 8. Remover picture_search.dll e picture_search64.dll da pasta plugins corrige temporariamente este problema. O problema foi relatado à Hex-Rays.Pré-requisitos:
TTDReplay.dll (geralmente em C:\Program Files\WindowsApps\[WinDBG folder]\amd64\ttd\)TTDReplayCPU.dll (geralmente em C:\Program Files\WindowsApps\[WinDBG folder]\amd64\ttd\)E deixe o CMAKE fazer sua mágica!
$ git clone [email protected]:airbus-cert/ttddbg.git --recursive
$ mkdir build
$ cd build
$ cmake ..\ttddbg -DIDA_SDK_SOURCE_DIR=[PATH_TO_IDA_SDK_ROOT_FOLDER] -DCPACK_PACKAGE_INSTALL_DIRECTORY="IDA Pro 7.7"
$ cmake --build . --target package --config release
Para criar uma solução de desenvolvimento:
$ git clone [email protected]:airbus-cert/ttddbg.git --recursive
$ mkdir build
$ cd build
$ cmake ..\ttddbg -DIDA_SDK_SOURCE_DIR=[PATH_TO_IDA_SDK_ROOT_FOLDER] -DBUILD_TESTS=ON
Saudações ao commial pelo seu trabalho em ttd-bindings!