Beat the Machine is a workshop designed to introduce students to concepts in software reverse engineering (binary, hexadecimal, disassembly) on paper, without the need for computer & software setup. Target audience is middle school-to-college students who have had programming exposure (some familiarity with binary and hexadecimal is encouraged).
MOSIS is a simple 16-bit instruction set designed to be easily disassembled by hand, while still resembling a real-world architecture. Most instructions fields are a single nybble (4 bits, 1 hexadecimal digit) - making disassembly straightforward once the binary is converted to hexadecimal.
- Easy - Exercises contain binary, hexadecimal instructions, disassembly. Students analyze the disassembly to solve problems.
- Medium - Exercises contain binary, hexadecimal instructions. Students disassemble using instruction set documentation and analyze diassembly to solve problems.
- Difficult - Exercises contain binary. Students convert to hexadecimal, disassemble using instruction set documentation, and analyze disassembly to solve problems.
Formerly "n00b to l33t" by Maddie Stone & JHU/APL staff, Summer 2017
Updated and open-sourced Spring 2020 by JHU/APL staff
Beat the Machine is released under the Creative Commons Attribution-NonCommercial-ShareAlike license.