In CSE-202 Computer Organization and Architecture, our most recent lab was extremely difficult but it was also fun and intriguing at the same time. The name of the lab was Defusing a Binary Bomb. It was a program that consisted of multiple phases where each phase expected us to type a particular string. If we typed in the correct string, the phase was defused; basically like a password. We needed to defuse 6 phases to defuse the bomb. The goal was to not blow up the bomb. The bomb blew up if we entered the incorrect string or password for a given phase. Each time we blew up the bomb we were deducted 1/2 point. It was very nerve racking.
To defuse the bomb, we used something called the gdb, it is a standard debugger for the GNU operating system (GNU is linux-like operating system). Through a series of different commands, the gdb allowed us to view the assembly code and from that debug and dissemble the assembly code to find the password hidden somewhere within the code. Each phase required different techniques and understanding of concepts to obtain the password, which I will not get into.
Below is a screenshot showing the dissembled assembly code for phase 1 along with the found password at the bottom. The answer for phase 1 was : “I turned the moon into something I call a Death Star.”
This lab was also fun because our professor created a competitive nature to it by having a scoreboard of everyone’s progress. Below is a picture of the scoreboard. I had bomb77 and you can see what place I came in 🙂