Crackme
{{short description|Small program designed to test a programmer's reverse engineering skills}}
{{Refimprove
| date = November 2008
}}
A crackme is a small computer program designed to test a programmer's reverse engineering skills.{{cite web |url=http://www.crackmes.de/faq/ |title=crackmes.de Frequently Asked Questions |accessdate=2008-10-31 |url-status=dead |archiveurl=https://web.archive.org/web/20060714121844/http://www.crackmes.de/faq/ |archivedate=2006-07-14 }} Crackmes are made as a legal way to crack software, since no intellectual property is being infringed.
Crackmes often incorporate protection schemes and algorithms similar to those used in proprietary software. However, they can sometimes be more challenging because they may use advanced packing or protection techniques, making the underlying algorithm harder to analyze and modify.
Keygenme
A keygenme is specifically designed for the reverser to not only identify the protection algorithm used in the application but also create a small key generator (keygen) in the programming language of their choice.
Most keygenmes, when properly manipulated, can be made self-keygenning. For example, during validation, they might generate the correct key internally and compare it to the user's input. This allows the key generation algorithm to be easily replicated.
Anti-debugging and anti-disassembly routines are often used to confuse debuggers or render disassembly output useless.{{Cite web |url=http://www.securityfocus.com/infocus/1893 |title = Windows Anti-Debug Reference |url-status=unfit |archiveurl=https://web.archive.org/web/20080515114824/http://www.securityfocus.com/infocus/1893 |archivedate=2008-05-15 }} Code obfuscation is also used to further complicate reverse engineering.{{cite web |url=http://palisade.plynt.com/issues/2005Aug/code-obfuscation/ |title=Code Obfuscaton |accessdate=2008-10-31 |url-status=dead |archiveurl=https://web.archive.org/web/20081021074010/http://palisade.plynt.com/issues/2005Aug/code-obfuscation/ |archivedate=2008-10-21 }}
References
{{reflist}}
External links
- [https://Crackmy.app Crackmy.app] - Holds a variety of user-submitted crackmes. Users can submit solutions to the crackmes to strengthen the learning process. Includes reverse engineering resources and tools.
- [https://crackmes.one Crackmes.one] - Includes user-submitted crackmes for Windows and Linux, in languages such as C++ and Java.
- X64dbg - A debugger used both by beginners and experienced people.
{{programming-software-stub}}