Skip to content

JHUAPL/Beat-the-Machine

Repository files navigation

Beat the Machine - Reverse Engineering Basics in Puzzle Form

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).

Mostly Optical Simple Instruction Set (MOSIS)

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.

Exercise Worksheets

  • 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.

Authors

Formerly "n00b to l33t" by Maddie Stone & JHU/APL staff, Summer 2017
Updated and open-sourced Spring 2020 by JHU/APL staff

License

Beat the Machine is released under the Creative Commons Attribution-NonCommercial-ShareAlike license.

About

Reverse engineering basics in puzzle form

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published