⚠️⚠️⚠️ This is a solution to the challenge. This post will be full of spoilers.
Download the binaries here: https://github.com/mlesterdampios/huntress-2024-binary-challenges
This challenge is an executable file with areas or regions that can never be reached due to logic conditions built in. The challenge is to redirect the flow to force it reach the memory regions that contains the flag.
In the main function:
Notice that what ever happens, it always lands on that else
block. How about we force it to satisfy the condition to true? Or just simply nop
the jump to the else block
Before:
After:
Another interesting function is this one.
However, the logic prevents in getting to that block so we patch it.
Before:
After:
We also notice a function return that prevents us going further down. So we patch it too.
Before:
After:
Now we are going places.
And then, there’s another one.
Before:
After:
However, no flag here:
So we put breakpoint before the function ends.
Then we search for flag signature
GGz!