
Time Travel Debugging IDA plugin
⚠️ Attention aux utilisateurs d'IDA 8 : l'utilisation de ttddbg avec IDA 8 nécessite un contournement pour le moment, voir Problèmes connus
Ce plugin ajoute un nouveau débogueur à IDA qui permet de charger des traces Time Travel Debugging générées avec WinDBG Preview.

Ce plugin prend en charge les traces x86 et x64, et par extension IDA et IDA64.
L'installation du plugin peut être effectuée à l'aide de l'installeur de la page des versions. L'installeur installera automatiquement les dépendances requises, à condition que vous disposiez d'une copie de WinDBG Preview installée.
Une fois installé, vous pouvez utiliser le plugin en sélectionnant le débogueur ttddbg dans l'interface d'IDA et en spécifiant votre fichier *.run comme « Application ». Pour obtenir de l'aide sur la génération d'un fichier .run, voir HOWTO_TIME_TRAVEL.md.


Depuis la version 1.1.0, ttddbg prend en charge une nouvelle fonctionnalité que nous appelons « traçage de fonctions ». Dans la vue de débogage, il est possible de marquer des fonctions à tracer en cliquant dessus avec le bouton droit dans les interfaces Functions ou Module. Une fois qu'une fonction est tracée, tout appel à cette fonction, ainsi que toute instruction return, seront enregistrés dans la nouvelle fenêtre Trace events.
À l'aide des informations sur les fonctions issues de votre travail de rétro-ingénierie, ttddbg extrait également les paramètres passés à la fonction ainsi que sa valeur de retour. Les symboles sont automatiquement mis en forme de manière lisible en fonction des informations disponibles dans IDA, comme les valeurs d'énumération.
picture_search, nouveau dans IDA 8. La suppression temporaire de picture_search.dll et picture_search64.dll du dossier plugins corrige ce problème. Le problème a été signalé à Hex-Rays.Prérequis :
TTDReplay.dll (généralement dans C:\Program Files\WindowsApps\[WinDBG folder]\amd64\ttd\)TTDReplayCPU.dll (généralement dans C:\Program Files\WindowsApps\[WinDBG folder]\amd64\ttd\)Et laissez CMAKE faire sa magie !
$ 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
Pour créer une solution de développement :
$ 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
Salutations à commial pour son travail sur ttd-bindings !
| Icône | Action |
|---|
![]() | Aller au point d'arrêt précédent |
![]() | Simuler une exécution complète du programme |
![]() | Pas à pas inverse (RIP - une instruction) |
![]() | Gérer la chronologie des événements intéressants (Threads créés/terminés, Module chargé/déchargé, Exceptions, Personnalisés) |
![]() | Gérer les fonctions actuellement tracées |
![]() | Afficher les événements de trace |