Bomb GIF

During my Fall 2023 semester, I had an extra credit assignment for my Introduction to Computer Systems class that had me solve a Binary Bomb Puzzle. This led me to gain skills such as debugging assembly, converting it into high-level code, and tracking data in registers.

๐Ÿ“„ Bomb Lab Instructions (Carnegie Mellon)


Phase 1

Commands used:

  • strings
  • objdump
  • gdb
  • disas
  • nexti
  • info registers / i r

Run:

strings bomb > strings.txt

Notable Strings

Phase 1 Strings

Then:

objdump -d bomb > bomb.asm

Assembly Output

Use GDB and:

disas

GDB Debug 1
GDB Debug 2

Save answer:

echo "Verbosity leads to unclear, inarticulate things." >> answers.txt
run answers.txt

Phase 2

Key function: read_six_numbers

Answer:

1 2 6 24 120 720

Phase 2 Assembly
Read Six Numbers
Phase 2 Complete


Phase 3

Answer format: two integers

3 811

Phase 3 Assembly
Info Reg
Register Data

๐Ÿ“š Side-channel attacks


Phase 4

Single integer input:

15

Phase 5

55 93

Phase 6

Permutations of 1 2 3 4 5 6

Phase 6 Assembly
Helper Function

โ›” Got through ~45% of 720 possible combos before my brain melted.

Brain Rot


Secret Phase

Triggered by austinpowers (after Phase 6)

More in strings.txt


Final Answers

  1. Verbosity leads to unclear, inarticulate things.
  2. 1 2 6 24 120 720
  3. 3 811
  4. 15
  5. 55 93