How I solved Part 1 of the GCHQ Challenge.

My Video for my solution to part 1 of the GCHQ challenge.

A video is worth 10,000 words but basically this is the process I followed.

Hand typed the hex shown on the webpage into a file.

Uploaded the file to Linux and ran to ‘file’ command to give me a clue.

Command ‘ndisasm’ passes the file as assembly. It is assembly.

Used IDA Disassembler together with the Bochs x86 Emulator to step through the code. There is a check routine that points to the fact we are missing data.

Analysis of the original image shows a hidden comment within the raw content. Looks like base 64 encoded as the string is all printable characters and ends with ‘==’. Converted to hex using this online tool and pasted back into the original file.

Back into IDA Disassembler ran the code and analysed the memory revealing the solution to part 1.

Leave a Reply

Your email address will not be published. Required fields are marked *