Crackmes.de does not exist anymore. This site was created as a place for reverse engineers to upload their creations and help newcomers learn this discipline. Here you can improve your reversing skills by downloading crackmes and submitting writeups to them.
A crackme is a small program designed specifically to be reverse engineered and "cracked" as an educational exercise. Unlike real software, crackmes are purposefully created with challenges such as password validation, serial number checking, or anti-debugging techniques to help you practice reverse engineering skills. Common goals include finding the correct password, generating valid serial keys, or bypassing authentication checks. Crackmes are legal and ethical because they are made specifically for this purpose.
A writeup is a detailed explanation of how you solved a crackme. It should document your thought process, the tools you used, the techniques you applied, and the steps you took to find the solution. A good writeup helps others learn from your approach and demonstrates your understanding of reverse engineering concepts. Writeups can be in text, markdown, HTML, PDF, or even video format. Simply providing a keygen script without explanation is not considered a valid writeup.
A keygen (short for "key generator") is a program or script that generates valid serial numbers, passwords, or license keys for a crackme. Unlike patching (modifying the binary), a keygen works by understanding and reimplementing the validation algorithm to produce inputs that the crackme will accept as correct.
Why write a keygen?
A keygen can be written in any programming language (Python, C, JavaScript, etc.) and should be accompanied by a writeup explaining how you derived the algorithm.
You will need reverse engineering tools to analyze and solve crackmes. Here are some commonly used tools:
Disassemblers/Decompilers:
Debuggers:
Other useful tools include hex editors, string analyzers, and scripting languages like Python for writing keygens. Many of these tools have free versions or are completely open-source, making reverse engineering accessible to everyone.
Obviously, all crackmes available on this website have been made to be cracked.
This website is dedicated to educational reverse engineering challenges (crackmes) only. The following types of content are strictly prohibited:
Submissions violating these rules will be rejected and may result in account suspension. This site is for learning reverse engineering through purpose-built educational challenges only.
The password for all files is "crackmes.one".
Every crackme and writeup is validated before appearing on the website. This may take anywhere from a few hours to a couple of days.
Indeed, but in most cases there is a README or instructions file within the archive.
First, you must login or register for an account. Then, navigate to the crackme page and upload your writeup there.
Accepted formats: Text, markdown, HTML, PDF, and similar formats are preferred.
Important rule: Don't patch! Unless the author explicitly stated that patching is a valid solution, you should write a keygen and document your process. You will learn more by doing this.
For complete guidelines, see the writeup submission rules.
Writeups are rejected if they don't meet our submission standards. Common reasons include:
Review the writeup submission rules, improve your writeup with detailed explanations, and resubmit. Remember: we want others to learn from your solution!
Patching means modifying the binary executable to bypass its validation algorithm, typically by changing conditional jumps (e.g., replacing JNZ with JZ) or NOP-ing out instructions to skip validation checks entirely.
Patching to make the binary print "correct" or "success" is generally not considered a valid solution for crackmes because:
When patching IS valid:
Note: Even if a crackme author states that patching is allowed, reviewers may still reject patch-only writeups because they make little contribution to the community's learning. If you do patch, consider also explaining the algorithm and providing a keygen alongside your patch.
To submit a crackme, you must first login or register. Then go to the Upload Crackme page. Make sure to read the crackme submission rules before uploading to ensure your submission meets the requirements.
Crackmes are rejected for violating our submission rules. Common reasons include:
Review the complete crackme submission rules, fix the issues, and resubmit. If you're unsure why your crackme was rejected, contact us at crackmesone@gmail.com.
The maximum file size for both crackme and writeup uploads is 10 MB (10,485,760 bytes). If you need to include additional files or resources, compress them into a single archive. Do not password-protect your archive - the server handles compression and password protection automatically.
If you're new to reverse engineering, here are some steps to get started:
Remember: everyone starts somewhere, and the community is here to help. Don't be afraid to ask questions!
Please feel free to use crackmes available on this site for non-commercial purposes, but please mention the author.
If you are using more than 99 crackmes for any purpose, please let us know via crackmesone@gmail.com.
Unauthorized mirroring of the website contents (including the crackmes) is not allowed without explicit permission.
Yes! We maintain an archive of all crackmes, solutions, and comments from the website. If you wish to use a large amount of the site's content for research, analysis, or educational purposes, please use the archive instead of crawling the site. This helps reduce server load and ensures you get a complete snapshot of the data.
Archive URL: https://drive.google.com/file/d/1QA7QbO5z7EAn1A5-B3AoXogJfvPmzzFL/view?usp=sharing
Archive date: December 21, 2025
If you need a more recent archive, please contact us at crackmesone@gmail.com.
If you still remember your password: log in, click "Profile", scroll to the bottom of the page, click "Change Password", and provide your current and new password.
If you do not remember your current password: use the Forgot Password page to receive a reset link via email.
If the automated reset does not work, please email crackmesone@gmail.com from the email address you used when you registered your account for assistance.
Please to email us at crackmesone@gmail.com to request account deletion.
If you cannot speak or see most of the channels on our Discord server, this is because you have not verified your account yet. Please check the #verify channel and follow the verification steps.
If a Windows crackme fails to start or shows errors like "VCRUNTIME140.dll not found", "MSVCP140.dll is missing", or similar DLL errors, you likely need to install the Microsoft Visual C++ Redistributable packages.
Many crackmes are compiled with Visual Studio and require these runtime libraries to run. To fix this:
Tip: If you're setting up a fresh VM for reverse engineering, installing all available Visual C++ Redistributable versions (2015-2022, 2013, 2012, 2010, etc.) upfront will save you from encountering these errors later.
Note for crackme authors: If your crackme requires a specific runtime to run, please mention it in the description. This is especially important for less common or non-standard runtimes that users may not have installed.
A common issue is crackmes compiled in Debug mode, which require the Debug version of the Visual C++ runtime (e.g., VCRUNTIME140D.dll). These debug runtimes are only included with Visual Studio and are not available through the standard redistributable packages, making your crackme much harder for others to run. If you want to include symbols to make your crackme easier to analyze, consider compiling in Release mode and including the PDB file alongside your executable instead.
Similarly, crackmes compiled with Cygwin will require cygwin1.dll (and possibly other Cygwin DLLs) to run. If you're distributing a Cygwin-compiled crackme, either mention this requirement or consider including the necessary DLLs.
We manually review every crackme and solution submission before it appears on the website to prevent malware and viruses. However, there is always a small chance that something could be missed. For your safety, we strongly recommend:
Note about antivirus detections: Some crackmes may trigger antivirus warnings or have many detections on sites like VirusTotal. This is completely normal and expected! Crackmes often use techniques that are similar to those found in malware, such as:
These are legitimate reverse engineering challenges, not actual malware. However, if you genuinely believe a crackme contains real malware or is otherwise inappropriate, please report it to us immediately.
If you encounter a crackme that is broken, contains actual malware (not simulated educational malware), or violates the site's rules, please report it immediately. You can:
Please provide as much detail as possible, including what makes you believe the crackme is problematic. We take security seriously and will investigate all reports promptly.
If you still remember your password: log in, click "Profile", scroll to the bottom of the page, click "Change Password", and provide your current and new password.
If you do not remember your current password: please email crackmesone@gmail.com from the email address you used when you registered your account for assistance.
Please email us at crackmesone@gmail.com to request account deletion.
If you cannot speak or see most of the channels on our Discord server, this is because you have not verified your account yet. Please check the #verify channel and follow the verification steps.
The source code for crackmes.one is available on GitHub at https://github.com/crackmesone/crackmesone_python.
Contributions are welcome! You can:
Please read the contributing guidelines before submitting pull requests.
You can reach out to us via crackmesone@gmail.com.
This site was created with love for reverse engineering by sar using the gowebapp framework. The design was created by Bonclay, inspired by hackthebox.eu.
In March 2025, sar stepped down and Xusheng became the new site admin.
The website has a reviewer team including Xusheng, Elvis, and various other dedicated contributors who help validate crackmes and writeups.