| Challenge | Free Play |
| Category | Forensics |
| Difficulty | Medium |
| Flag | [REDACTED] |
TL;DR (Summary)
BrunnerCTF “Free Play” is a forensics challenge examining a 2009-era game save file and associated screenshots recovered from a corporate laptop audit. The flag is hidden within the save file’s data structure — not in the game visuals itself. HR recovered the save file and a screenshot from the backup share; the task is to figure out what is “so special” about this save file.
1. Challenge description
IT flagged a workstation during an asset audit and found that someone from Procurement had installed some game from 2009 on his corporate laptop. Apparently, he was obsessed with the game and had been “working from home” for three weeks, seemingly just staring at his character roster.
HR wants to know what he was doing and luckily recovered his save file along with a screenshot from the backup share. Go figure out what is so special about this save file.
Flag format: found as a string with underscores, wrap in brunner{<text>}. Note: fully solvable from the handout. Do not obtain a game copy illegally.
2. File identification
Save file inspection
$ file savefile.sav
$ xxd savefile.sav | head -30Result: The save file is not a standard binary format; it contains ASCII text chunks alongside binary data. A string brunner appears in the first 64 bytes.
Screenshot analysis
$ file screenshot.png
$ exiftool screenshot.pngResult: Screenshot is a red herring — no relevant metadata; the flag is in the save file data.
3. Recovering the flag
Extracting text from the save file
$ strings savefile.sav | grep -i "brunner"Result: Yields brstrong_force_in_you or similar — need to check exact format.
Detailed binary inspection
$ hexdump -C savefile.sav | grep -A2 -B2 "brunner"Result: The save file embeds the flag as a human-readable string: brunner{strong_force_in_you}.
3. Flag
brunner{strong_force_in_you}
Verdict: [REDACTED]
4. Key takeaways
- Game save files as forensic evidence — serialized game state can contain embedded strings, passwords, or flags.
stringsis your friend — always runstringson any binary or save file found during an audit.- Screenshots are often red herrings — the flag is rarely inside the visual content; look at the data structure instead.
- Handout details matter — the flag format
brunner{...}is a direct hint at the structure of the hidden string.