A memory manipulation trainer for the indie puzzle-platformer game "Braid" that enables flight functionality, allowing players to freely navigate through the game world by modifying the player character's position and movement status in real-time.
- Real-time Flight Control: Move the player character freely in all directions
- Global Hotkeys: Control flight even when the game window is not focused
- Memory-Safe: Uses proper Windows API calls for process memory manipulation
- Automatic Process Detection: Automatically finds and attaches to the running Braid process
- Simple Interface: Minimal GUI showing control instructions
| Key | Action |
|---|---|
I |
Move Up |
K |
Move Down |
J |
Move Left |
L |
Move Right |
- Operating System: Windows (Windows Forms application)
- .NET Framework: .NET 6.0 or later with Windows support
- Game: Braid must be running
- Dependencies: MouseKeyHook library (automatically installed via NuGet)
-
Clone the repository:
git clone https://github.com/nayutalienx/braid-flyhack.git cd braid-flyhack -
Build the project:
dotnet restore dotnet build --configuration Release
-
Run Braid: Start the Braid game before launching the trainer
-
Launch the trainer:
cd braid_flyhack_trainer/bin/Release/net6.0-windows ./braid_flyhack_trainer.exe -
Use the controls: Press
I,J,K,Lkeys to control flight movement
The trainer uses several key components:
- BraidMemoryParser: Scans and manipulates the Braid process memory
- Process Detection: Automatically locates the running
braid.exeprocess - Pointer Resolution: Finds the player entity pointer using multiple offset patterns
- Coordinate Modification: Directly modifies X/Y position values in memory
- Status Management: Temporarily sets player status to "flying" during Y-coordinate changes
- Global Hooks: Uses system-wide keyboard hooks to capture input
- Smooth Movement: Moves player in configurable increments (100 units by default)
- Memory Offsets:
- X Position:
+0x14 - Y Position:
+0x18 - Status:
+0x10
- X Position:
- Flying Status Value:
9.4f(discovered via reverse engineering) - Walk Status Value:
2.0f - Movement Step:
100units per keypress
braid_flyhack_trainer/
├── memory/
│ ├── MemoryParser.cs # Base memory manipulation class
│ └── BraidMemoryParser.cs # Braid-specific memory handler
├── service/
│ └── KeymapService.cs # Keyboard input handling
├── handler/
│ ├── KeyboardHandler.cs # Global keyboard hooks
│ └── ProcessHandler.cs # Process management utilities
├── processor/
│ └── KeyEventProcessor.cs # Key event interface
├── resources/
│ └── flyhack.PNG # Application screenshot
├── Form1.cs # Main application window
└── Program.cs # Application entry point
This application may trigger anti-virus software due to:
- Process memory manipulation
- Global keyboard hooks
- Dynamic process attachment
These are legitimate features required for game trainer functionality.
- Tested with standard Braid installations
- May require updates for different game versions
- Memory offsets might need adjustment for modified game builds
# Restore dependencies
dotnet restore
# Build debug version
dotnet build
# Build release version
dotnet build --configuration Release- MouseKeyHook 5.6.0: Provides global keyboard hook functionality
- .NET 6.0 Windows: Required for Windows Forms and P/Invoke operations
- Single-Player Only: This tool is intended for single-player gameplay enhancement only
- Educational Purpose: Provided for educational and research purposes
- Game Ownership: You must own a legitimate copy of Braid to use this trainer
- Use at Your Own Risk: Memory manipulation may cause game instability
- No Warranty: This software is provided as-is without any warranties
This project is an independent tool and is not affiliated with or endorsed by Number None Inc. or Jonathan Blow, the creators of Braid. Braid is a trademark of its respective owners.
Contributions are welcome! Please feel free to:
- Report bugs or issues
- Suggest improvements
- Submit pull requests
- Add support for other game versions
This project is provided for educational and research purposes. Please respect the intellectual property rights of the original game creators.