Deadline: Apr 24th, 11:59 PM PT

In this assignment, you will play with the Linux x86_64 ELF binaries.

There are two parts in this assignment: The x86-64 playground and StackOverflow. We will combine the two parts together for your final score of this assignment.

The Reverse reenignE: x86-64 Playground

In this part, you need to connect to the playgound server and answer the questions. The service domain is, and the port number is 3000. You can connect by nc 3000. You need to provide your ASURITE name (e.g., tiffanyb) once connected so that we can recognize your identity and grade your assignment. The service will also tell you the current score once you log in with your ASURITE.

Headsup: Challenge shift and fib’s outputs depend on the format string of function printf. Here are the format strings:

shift : “%d” fib : “%d”

The Stack Smasher: Stack Overflow

In this part, you will pwn the stack overflow vulnerabilities. The challenges are at Similar to the midterm CTF, your goal is to get the flag and submit to the website.

Score Calculation

There are 5 challenges in x86-64 Playground and 5 challenges in Stack Overflow. The full score of this assignment is 100, and your score will be calculated as 10 * #(solved challenges).


If you have any questions, please post them in Piazza. You can mark it private so that only the instructors will have the access. Questions through emails will be deprioritized. It is so easy to overlook an email if there are 2000+ unread in your inbox. :)