βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Debugger [Γ] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββ Debug Controls ββββββββββββββββββββββββββββββββββββββββββ β
β β [βΆ] [βΈ] [βΉ] [π] [π] [Launch] [Attach] [Connect] β β
β β Play Pause Stop Step Restart β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββ Tab Controls βββββββββββββββββββββββββββββββββββββββββββ β
β β [Registers] [Breakpoints] [Bookmarks] β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββ Bookmarks Tab ββββββββββββββββββββββββββββββββββββββββββ β
β β Description β TTD Position β Address β Time β β
β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β Main entry point β 12A:B4 β 0x401000 β 14:30 β β
β β Critical section β 15C:A2 β 0x402500 β 14:35 β β
β β Before API call β 18F:DC β 0x403100 β 14:42 β β
β β Exception handler β 1A2:3F β 0x404800 β 14:48 β β
β β Loop iteration 5 β 1C8:91 β 0x402200 β 14:52 β β
β β β β β β β
β β [Add Bookmark...] [Remove] [Jump To] β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββ
β βΆ Jump To Bookmark β
β βββββββββββββββββββββ β
β β Edit Description... β
β π Remove Bookmark β
β βββββββββββββββββββββ β
β π Copy Address β
β π Copy TTD Position β
ββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββ
β Add Bookmark [Γ] β
ββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Current Position: β
β Address: 0x401000 β
β TTD Position: 12A:B4 β
β β
β Description: β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β Main function entry point β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β
β [Cancel] [Add Bookmark] β
ββββββββββββββββββββββββββββββββββββββββββββββ
Debugger Menu:
ββ Debug Adapter Settings...
ββ ββββββββββββββββββββββββββ
ββ Launch F6
ββ Attach To Process...
ββ Connect to Debug Server
ββ ββββββββββββββββββββββββββ
ββ Pause F5
ββ Resume F9
ββ Go Backwards Shift+F9
ββ ββββββββββββββββββββββββββ
ββ Toggle Breakpoint F2
ββ Add Bookmark Ctrl+M β NEW!
ββ ββββββββββββββββββββββββββ
ββ Settings...
-
Integrated Tab Layout: Bookmarks appear as a natural third tab alongside Registers and Breakpoints
-
Comprehensive Information: Each bookmark shows:
- User-friendly description
- TTD position for time-travel navigation
- Memory address for fallback navigation
- Timestamp for organization
-
Multiple Access Methods:
- Direct tab access for bookmark management
- Global Ctrl+M shortcut for quick bookmark creation
- Context menu for bookmark operations
-
Visual Consistency: Follows existing Binary Ninja debugger UI patterns:
- Same table layout as breakpoints
- Consistent button styling and placement
- Standard dialog patterns
-
User-Friendly Workflow:
- One-click bookmark creation
- Double-click navigation
- Clear visual feedback and organization
When double-clicking a bookmark or using "Jump To Bookmark":
- TTD Navigation: Attempts
!tt 12A:B4command to set TTD position - Fallback Navigation: If TTD fails, navigates to memory address
- Visual Feedback: Updates main view to show bookmarked location
- Error Handling: Shows informative messages if navigation fails
This provides a complete time-travel bookmark system that integrates seamlessly with the existing Binary Ninja debugger interface.