MetaCTF

One of the reasons to learn assembly code and binary executable formats is to reverse-engineer unknown, potentially malicious, software.  MetaCTF is an experimental, metamorphic, capture-the-flag game that is intended to teach concepts in this course in a more interesting and fun manner.  It consists of a set of Linux/ELF binaries that are unique to each student. For each binary, you are seeking an input that will force the binary to print out "Good Job".  Instructions are given for each binary when they are run in order to guide you.   You are to submit your "winning" inputs that solve your binaries via the web site as shown below.

Your binaries

Example session

mashimaro <x/wuchang> % ls
Ch1_Ltrace           Ch3_05_XorEnc         Ch3_09_HijackPLT
Ch1_Readelf          Ch3_06_SwitchTable    Ch3_09_HijackPLT.c
Ch2_01_AsciiInstr    Ch3_06_SwitchTable.s  Ch3_10_Structs
Ch2_03_XorInt        Ch3_07_StackSmash     Ch3_10_Structs.c
Ch2_05_FloatConvert  Ch3_07_StaticInt
Ch3_04_FnPointer     Ch3_07_StaticStrcmp
mashimaro <wuchang> % ./Ch1_Readelf
In this level, you will experiment with basic static analysis of binaries.
Your goal is to find the password that unlocks the program so it prints
"Good Job".  While you can solve this level many ways, try using the
"readelf -a <binary>" to find the section number where the password might
be stored, then use "readelf -x <section_number> <binary>" to list the
contents of the section which likely has the password in it.  You may also
use the command "objdump -j" on the appropriate section of the binary to
solve it.

Enter the password: ZmZlMDRm
Good Job.
mashimaro <wuchang> %



Example screenshot
MetaCTF