Reverse engineering
The practice of dissecting software to understand how it works — often to remove restrictions, break copy protection, or find security vulnerabilities.
Reverse engineering began in the 1970s when crackers wanted to break copy protection on games and home software. A cracker would extract the machine code from an executable, disassemble it into human-readable instructions, trace the control flow, and hunt for the critical bytes: a wrong license key check, a disabled timer, or a series of flipped bits. Often a single conditional jump instruction stood between an original and a cracked version. Modern reverse engineering uses the same toolkit but at much larger scale: analyzing IoT devices, mobile apps, and network protocols for security research, interoperability, and understanding legacy systems.