CSC-405 Computer Security

Assignment 2 - Binary Reversing

Assignment 2 is due 2/22/19 on or before 11:59:59pm EDT.


For this homework assignment you will be granted access to a Virtual Machine (VM). The VM will have its own set of login credentials. The server will have several binary challenges to solve. To solve each challenge you must recover a “flag”. All flags will have the following format: flag{abc}. Submit this flag to the web submission server discussed on piazza for points towards your homework grade.

Reverse Engineering

In this Reverse Engineering assignment, the desired flag is encrypted or obfuscated within each of the programs or in an encrypted message. Your goal is to reverse engineer each program to circumvent, manipulate, or decrypt to obtain the flag. These challenges are best done locally on your own computer and it is HIGHLY recommended that you download these programs to your local machine. A hint to solving some of these challenges is to use the environment. It is best practice to always have a fresh copy of the target program just in case you happen to corrupt/destroy it.

Level Points
Level1 20
Level2 20
Level3 20
Level4 20
Level5 20
Level6 5


You will need to sharpen your Linux hacking toolbelt. You will probably need to become familiar with the following tools to understand the binaries that you want to break:


You will be awarded points based on how many levels are solved. The total number of points that can be obtained from this assignment is 105 points with 5 points being extra credit.

Submission Instructions

You will need to submit all source code written for this assignment, and a README. Your README file must contain your name, Unity ID, and a description of how you broke each level. The description is important and will affect how we grade your assignment.

For this submission we are going to use GitHub Classroom. Your submission will be a git repository. If you are not familiar with git here is a quick guide.