Official Golfer - Part 1 Discussion

Official discussion thread for Golfer - Part 1. Please do not post any spoilers or big hints.

I have honestly no idea where to start here. Is there a serious way to get the flag or did you just use what is easily visible and brute forced it?

The challenge is located in the section “reversing”. A typical solution path for the “reversing” challenges: find out the language used e.g. high level, low level, byte code, compiled code, … Next you can try to read and understand the code. Another option is to run the code and trace the code flow.

For me personally it sounds like a stego crack-the-code style challenge.

Having solved it, I still don’t understand the logic behind.

Yes, you are right. This challenge has also a stego aspect. The code which prints outs the flag exists but not so easy to read.

I had to use IDA to get the binary to disassemble properly. Once the binary is disassembled, you’ll have to look up Linux system calls to understand the logic, but it’s straightforward.

Any help here would be appreciated. I have been able to continue execution using edb past the first few steps by changing the z flag and changing the int 0x80 calls to nops, but I do not know what I need to be looking for or editing beyond that. I have looked at this in edb, ghidra, and ida free but I’m not sure what exactly I am looking at with the disassembled code. The top of the stack is set to a specific value and EAX seems to be set to the same during execution which usually ends in the program ending. I am stuck!!

Any nudges? I’ve had no luck with ghidra or ida, and I’ve gone pretty deep trying to manipulate the hexcode with bless and this site but no luck.

Hint: Analyze the code from the first byte to the last one (e.g. with ghidra). Make sure it’s disassembled properly (in ghidra, manual steps might be necessary)

This challenge has two solutions and brute-force is unintended way