HAXPQ: Reverse Engineering

Closes Oct. 14, 2012

We give you a binary program. You tell us how it works.


In this slightly atypical proggitquiz we are looking for some reverse engineering prowess. For each of the two sets, you will receive a Linux binary. This binary will read a string from STDIN and either accept it or reject it. Your task is to determine what the secret string is.


When you begin each set, you will receive a binary containing the target program. The basic set is a 64-bit little-endian ELF binary. The advanced set is a 32-bit little-endian ELF binary. They are both stripped, dynamically linked and built for Linux 2.6.18 using GCC 4.4.6.


Provide an output file containing a single line with the string that each binary will accept.

Good luck!

If you have any questions, please contact mserrano or sixthgear in ##proggit.

Basic set (50 points)

Advanced set (100 points)

First Post! Award (50 points)

Be the first entry to finish the challenge.


jtg bas adv bon 200
lzm bas adv bon 50
mserrano bas adv bon 50
centrinia bas adv bon 50

What do?

  1. Write your program according to the problem description
  2. Download the basic input set. The timer will start.
  3. Feed the input file to your program and save the output.
  4. Upload the output file along with your source code. If it is correct, you will receive points. If not you may try again until the timer expires.
  5. If the timer expires. You may try again, but a new input file will be generated.
  6. Repeat fot each set.

Note: The input sets use unix line endings (\n) and the verifier expects them as well.

Come Chat!

Join channel ##proggit on freenode.


Having issues with the the site? Let us know.