Lab 3: Bomb
The nefarious Dr. Evil has planted a slew of “binary bombs” on our machines. A binary bomb is a program that consists of a sequence of phases. Each phase expects you to type a particular string on standard in (stdin). If you type the correct string, then the phase is defused and the bomb proceeds to the next phase. Otherwise, the bomb explodes by printing “BOOM!!!” and then terminating. The bomb is defused when every phase has been defused. There are too many bombs for us to deal with, so we are giving each group a bomb to defuse. Your mission, which you have no choice but to accept, is to defuse your bomb before the due date. Good luck, and welcome to the bomb squad!
Getting Started
Each two-person team will attempt to defuse their own personalized bomb. Each bomb is a Linux binary executable file that has been compiled from a C program. To obtain your team's bomb, one (and only one) of the team members should follow these steps to acquire a bomb:
- Connect to
wilkes(e.g., using VS Code) and open a terminal. -
Create a directory for your lab files (e.g., using the command
mkdir lab3), and enter that directory (e.g., usingcd lab3).
-
Enter the command
links http://wilkes:15213and then press Enter. This will bring up a little web form inside the terminal where you can enter your user ids and email. You can use your keyboard's arrow keys to move around the form. Then press .
-
If you see a pop-up asking about an “Unknown Type”, you can select .
- Another pop-up will ask you about the and shows you the filename of your bomb. Select .
- Press the q key on your keyboard to exit Links, and confirm that you want to exit if prompted.
-
Back in the terminal, confirm your downloaded bomb is in your directory with the command
ls. Note that your bomb has a number; for example,bomb3, as shown below
-
Give the command:
tar -xvf bomb, replacing thek .tarwith your bomb's number. You will then have a directory calledk ./bombwith the following files:k README: Identifies the bomb and its owners.bomb: The executable binary bomb.bomb.c: Source file with the bomb's main routine and a friendly greeting from Dr. Evil
If you make any kind of mistake requesting a bomb (such as neglecting to save it or typing the wrong group members), simply request another one. Likewise, if for some reason you request multiple bombs, this is not a problem. Choose one bomb to work on and delete the rest.
Now you are ready to follow the instructions in the writeup for this lab.
Due Date and Submission
Due: Friday, February 27 at 11:59 PM
There is no explicit hand-in, see the scoreboard.
However, it's a good idea to keep track of your solutions to each phase (one answer per line in a text file), as described in the writeup.
(When logged in, completion status appears here.)