Reverse engineering
Het uit elkaar halen van software om te begrijpen hoe die werkt, vaak om beperkingen te verwijderen, kopieerbeveiliging te kraken of kwetsbaarheden te vinden.
Reverse engineering begon in de jaren zeventig, toen crackers de kopieerbeveiliging van games en thuissoftware wilden breken. Een cracker haalde de machinecode uit een uitvoerbaar bestand, disassembleerde die tot leesbare instructies, volgde de programmastroom en zocht naar de cruciale bytes: een verkeerde controle op een licentiesleutel, een uitgeschakelde timer of een reeks omgeklapte bits. Vaak stond één enkele voorwaardelijke sprong tussen het origineel en de gekraakte versie. Moderne reverse engineering gebruikt dezelfde gereedschapskist op veel grotere schaal: het analyseren van IoT-apparaten, mobiele apps en netwerkprotocollen voor beveiligingsonderzoek, interoperabiliteit en het begrijpen van oudere systemen.