CrackMe
Ein CrackMe ist ein Computerprogramm, das eine Zugriffskontrolle enthält, die dazu gedacht ist, umgangen zu werden.[1] Ein solches Programm fragt – meist direkt beim Start – ein Passwort oder eine Seriennummer ab. Ziel ist es diesen Schutzmechanismus auszuhebeln. Daneben besteht ein CrackMe meist nur aus einem kurzen oft witzigen Text oder einem Bild, welches nach einem erfolgreichen Angriff angezeigt wird.
CrackMes zu knacken ist eine Art „Sport“ beim Reverse Engineering.[1] Sie bieten ein legales Betätigungsfeld für das Reverse Engineering, das bei kommerziellen Programmen aus juristischer Sicht problematisch und bei quelloffenen-Programmen uninteressant ist. So gibt es dedizierte Webseiten, die CrackMes in verschiedenen Schwierigkeitsgraden und dazugehörigen Hilfestellungen in Form von Tutorials anbieten.[1][2]
Mögliche „Lösungen“ für ein CrackMe können sehr unterschiedlich ausfallen:
- ein gültiges Passwort bzw. eine gültige Seriennummer finden
- das Programm so abzuändern (siehe Patch), dass es jede beliebige Seriennummer akzeptiert oder gar nicht erst abgefragt wird
- ein Programm schreiben, welche genau solche Seriennummern produziert, die vom CrackMe akzeptiert werden (siehe KeyGen)
Beim Knacken eines CrackMes kommen Tools wie Disassembler und Debugger zum Einsatz, da der Quelltext eines CrackMes üblicherweise bewusst nicht zur Verfügung gestellt wird. Deshalb werden die meisten CrackMes auch in kompilierenden Programmiersprachen geschrieben und nur in ihrer binären Form angeboten. Die Herausforderung bei CrackMes, die in Interpretersprachen bzw. Skriptsprachen geschrieben wurden, entsteht durch für Menschen schwierig zu lesenden verschleierten Quellcode.