
⚠️ IDA 8 ユーザーへの注意: 現在、ttddbg を IDA 8 で使用するには回避策が必要です。既知の問題 を参照してください
このプラグインは、WinDBG Preview を使用して生成された Time Travel Debugging トレースの読み込みをサポートする新しいデバッガを IDA に追加します。

このプラグインは x86 と x64 の両方のトレースに対応しており、それに伴い IDA と IDA64 にも対応しています。
プラグインのインストールは、リリースページ からインストーラを使用して行うことができます。インストーラは、WinDBG Preview のコピーがインストールされていれば、必要な依存関係を自動的にインストールします。
インストール後、IDA インターフェースで ttddbg デバッガを選択し、*.run ファイルを「Application」として指定することで、プラグインを使用できます。.run ファイルの生成方法については、HOWTO_TIME_TRAVEL.md を参照してください。


| Icon | Action |
|---|---|
![]() | 前のブレークポイントへ移動 |
![]() | プログラムの完全な実行をシミュレート |
![]() | 後方へシングルステップ (RIP - 1命令) |
![]() | 注目すべきイベントのタイムラインを管理 (スレッド作成/終了、モジュール読み込み/アンロード、例外、カスタム) |
![]() | 現在トレース中の関数を管理 |
![]() | トレースイベントを表示 |
バージョン 1.1.0 以降、ttddbg は「関数トレース」と呼ばれる新機能をサポートしています。デバッグビューで、Functions または Module インターフェース内の関数を右クリックして、トレース対象としてマークすることができます。関数がトレースされると、その関数へのすべての呼び出しとすべての return ステートメントが、新しい Trace events ウィンドウに記録されます。
ttddbg は、リバースエンジニアリング作業から得た関数情報を使用して、関数に渡されたパラメータとその戻り値も抽出します。シンボルは、IDA で利用可能な情報 (enum 値など) に基づいて自動的にプリティプリントされます。
picture_search プラグインとの非互換性が原因と思われます。plugins フォルダから picture_search.dll と picture_search64.dll を一時的に削除すると、この問題は修正されます。この問題は Hex-Rays に報告されています。前提条件:
TTDReplay.dll のコピー (通常は C:\Program Files\WindowsApps\[WinDBG folder]\amd64\ttd\ にあります)TTDReplayCPU.dll のコピー (通常は C:\Program Files\WindowsApps\[WinDBG folder]\amd64\ttd\ にあります)あとは CMAKE におまかせください!
$ 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
開発用ソリューションを作成するには:
$ 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
ttd-bindings への取り組みについて、commial に感謝します!