Skip to content

xusheng6/awesome-ttd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 

Repository files navigation

awesome-ttd

A curated list of resources related to Time Travel Debugging (TTD).

Contents

TTD Solutions

Time Travel Debugging tools and platforms.

Solution Pricing Description
WinDbg TTD Free Microsoft's official Time Travel Debugging solution integrated into WinDbg Preview. Allows recording and replaying of Windows application execution for debugging complex issues. Features include reverse execution, memory and register queries at any point in time, and integration with the Windows debugging ecosystem.
rr Free and Open Source A lightweight recording and deterministic debugging tool for Linux. Developed by Mozilla, rr records native application execution and allows full reverse execution during replay. It's designed to be efficient with low overhead and integrates well with GDB for a familiar debugging experience.
undo.io Commercial Enterprise-grade reversible debugging platform for Linux and embedded systems. Built on the technology behind UDB (Undo Debugger), it provides time travel debugging capabilities for production systems, continuous integration, and development environments. Supports both live debugging and recording for later analysis.
esReverse Commercial A full-system record and replay debugger that provides time travel debugging capabilities. Allows stepping backwards through program execution, setting reverse breakpoints, and analyzing program behavior in reverse. Features architecture-neutral dynamic analysis with a focus on ease of use and minimal overhead.
Panda-re Free and Open Source A platform for architecture-neutral dynamic analysis based on QEMU. PANDA enables whole-system recording and deterministic replay for various architectures. It's particularly useful for malware analysis, reverse engineering, and security research, offering extensive plugin support for custom analyses.
GDB Reverse Debugging Free and Open Source The GNU Debugger includes built-in reverse debugging capabilities. While not a full time travel debugging solution, GDB supports reverse execution through process recording, allowing reverse-continue, reverse-step, and reverse-next operations. Works with various targets and can be used with rr for enhanced TTD functionality.
REnigma Commercial Advanced time travel debugging and reverse engineering platform. Provides comprehensive recording and analysis capabilities for security research, malware analysis, and vulnerability discovery. Features include full system state capture, advanced query capabilities, and integration with reverse engineering workflows.
Intel PinPlay Free and Open Source A collection of tools for program record and replay using Intel Software Development Emulator (SDE). Enables deterministic replay of program execution for debugging and analysis. Includes tools for identifying representative simulation regions in single and multi-threaded applications, useful for performance analysis and architectural research.

Official Documentation

Tutorials and Guides

  • Wikipedia - Time Travel Debugging - Comprehensive overview of time travel debugging concepts, history, implementations, and use cases across different platforms and tools.
  • Next-Level Reversing: Binary Ninja+TTD - Hands-on tutorial demonstrating how to use TTD with Binary Ninja for reverse engineering, including setup, trace recording, and analysis workflows.
  • LRQA - Time Travel Debugging Shellcode with Binary Ninja - Tutorial on using TTD to debug shellcode and non-PE targets with Binary Ninja, useful for malware analysis and vulnerability research.
  • Microsoft WinDbg-Samples TTD README - Official Microsoft repository with TTD samples and example scripts for common debugging scenarios.
  • Google Cloud - Time Travel Triage: TTD using .NET Process Hollowing - In-depth tutorial on using Time Travel Debugging with WinDbg to analyze advanced malware behaviors, specifically focusing on .NET process hollowing techniques commonly used by threat actors.
  • TTD Lab - Educational repository containing presentation slides and hands-on lab instructions for learning Time Travel Debugging, designed to help beginners get familiar with TTD concepts and practical usage.
  • Mandiant FLARE - An Introduction to Time Travel Debugging - Free educational module from Mandiant's FLARE team (Josh Stroschein and Jae Young Kim) covering TTD fundamentals for malware analysis, with hands-on demonstrations, lab exercises, and JavaScript reference material for automating TTD tasks.
  • Advanced Malware Binary Triage (Binary Ninja Edition) - Training course by Joshua Reynolds (Invoke RE) on reverse engineering real-world malware with Binary Ninja, covering anti-analysis techniques and the use of Time Travel Debugging while analyzing loaders, ransomware, kernel drivers, and red team tools.
  • JLORAT Malware Analysis Write-up - Write-up walking through the analysis of JLORAT, a Rust-based remote access trojan, demonstrating how Time Travel Debugging aids in understanding the malware's execution, persistence, and command-and-control behavior.

Videos

CTF Write-ups

Source Code

  • Binary Ninja - DbgEng TTD Adapter - Source code for Binary Ninja's TTD adapter implementation, showing how Binary Ninja integrates with WinDbg's TTD engine.
  • ttd-bindings - Python bindings for Microsoft's Time Travel Debugging (TTD) engine, enabling programmatic access to TTD traces and analysis capabilities.
  • ttddbg - IDA plugin that adds Time Travel Debugging support to IDA Pro, enabling loading and replaying of WinDbg TTD traces directly within the IDA debugger interface.
  • WinDbg-Libraries - Microsoft's official libraries for extending WinDbg and its underlying components, providing a modern C++ abstraction layer over the Debugger Data Model COM APIs to simplify extension development.
  • WindbgTTD-TrackReg - WinDbg extension that leverages the TTD API to trace the origins of specific registers and memory, enabling analysis of which instructions modified particular registers or memory locations during replay.
  • ttd-capa - Capability extraction tool that analyzes Time Travel Debugging traces to surface malware capabilities hidden in packed executables, complementing the CAPA framework by logging API calls and parameters across an entire execution that static analysis alone would miss.

About

Rerousces related to time-travel debugging (TTD)

Resources

License

Stars

47 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors