Challenge: Memgraph Capture the Flag
June 10, 2021
In the "Detect and diagnose memory issues" session at WWDC21, we explored how debugging memory problems can help improve your app’s performance, while “Symbolication: Beyond the basics” showcased debug symbols and how symbolication helps us connect the dots during code debugging. Now, it’s time to put those new skills to work.
If you like solving puzzles, you’re in the right place. One of our engineers has hidden a memory easter egg in our secret app. We're trying to track it down but all we know is that it has
format flag_<unknown_string_here>@WWDC. You’ll have to use the command line tools offered by macOS to investigate the memory issue, recover missing symbols, and and capture the rogue flag.
Begin the challenge
To get started, download the challenge .zip attached to this article and unzip the folder. We also have a message from our engineer to get you on the right track: "Memgraph is a special binary plist. What can you find in its properties?”
And once you’ve explored the challenge, check out one solution to find the flag.
You can solve these kinds of puzzles and track down memory issues in your own app, too. Try creating reference cycles in your app, saving a memgraph, and tracing them back to your source code. And for more debugging details, check out the WWDC21 sessions below.