aname on 10:49 AM 12/12/2024: because of the last password check routine, possible number of cases has been reduced. for my ascii range there are 249 correct passwords.
thed0ublec on 3:14 PM 12/12/2024: If you need the source code of this CrackMe, you can go to the Solutions tab and download the solution uploaded by thed0ublec (me), which also comes with a brute-force script for your reference.
iAniket9 on 6:00 PM 12/12/2024: Password: eMkcarCyzarCrYar (And many{248} more ;D)
jewdev on 10:32 PM 12/14/2024: another working password: eMkcarCyzarCNyar
very good crackme, good job!
spaoy on 12:19 AM 12/15/2024: I just changed the result of incorrect to correct, every password is correct (to do it just ignore the obfuscate)
hackercult1337 on 12:25 PM 12/15/2024: https://postimg.cc/MXP9zHzy
Cracked without pass
Mat62 on 2:43 PM 12/18/2024: I have coded a brute force in Python 3, i have 435 valid serials.
wepinek on 9:38 AM 12/31/2024: Very interesting! I like it
Roufox on 3:57 PM 12/31/2024: Thanks for the CrackMe! I had alot of fun.
At first I tried to make a keygen, but I gave up and brute-forced it instead.
I found this key: eMkcarCyzarC8IY2
jewdev on 7:22 PM 01/06/2025: https://rentry.co/yp642nfq
Pythol on 11:50 PM 01/07/2025: Genuinely really run :)
Got the first part easily. The rest I just brute forced.
eMkcarCyzarCy8:
frayxzer on 12:07 PM 01/09/2025: I am new Aand I don't know how to crack it can anyone help me? I have discord.
jmpeax on 6:24 PM 01/09/2025: @frayzer what's the problem? First use some decompiler e.g. dnSpy and load the executable. In dnSpy go to the main() method and explore all the other methods. They're somewhat obfuscated, but if you examine them, it will become very clear what they do. You may want to export the decompiled exe to a project in order to open it in Visual Studio. There you're able to easily rename the methods you examined. Try and give them names that reflect what these methods are doing. Rename all parameters appropriately (I used pretty much "str" everywhere a string was passed as a parameter).
In VS find the method that has the check for a debugger in it, edit it, to return false always [This method contains the following code: return Debugger.IsAttached || Marshal.ReadByte((IntPtr)2147353300) 0;]
After editing this, you can start the debugger and step through every method and pretty quickly discover a method that decodes the obfuscated strings. It's the method containing "stringBuilder.Append((c == 'I') ? '1' : '0');".
Go for it :)
KonradCrackMe on 10:09 PM 01/09/2025: I have managed to find 432 Password with alphanumeric symbols. By adding some additional symbols it increased to 901. I have only used passwords of length 16.
pkhanh on 8:30 AM 01/13/2025: tutorial
-- source
bool flag2 = lIIlIIIlIIIlIIIlIlIIIlIIIlIIIIlII.lIllIlIIlIlIIlIl(text6);
-- solution
just rewrite bool flag2 = true;
Magnetar on 7:07 AM 01/19/2025: A1B2C3D4E5F6
G7H8I9J0K1L2
M3N4O5P6Q7R8
S9T0U1V2W3X4
Y5Z6A7B8C9D0
E1F2G3H4I5J6
K7L8M9N0O1P2
Q3R4S5T6U7V8
W9X0Y1Z2A3B4
C5D6E7F8G9H0
Magnetar on 9:43 AM 01/19/2025: using System;
using System.Text;
class PasswordGenerator
{
public static void Main()
{
// The hidden pattern we need to include
string pattern = "CrazyCrackMe";
// Generate some candidate passwords
string[] candidates = {
"eMkcarCyzarC", // Just the pattern reversed
"1eMkcarCyzarC", // Pattern reversed with a prefix
"eMkcarCyzarC2", // Pattern reversed with a suffix
"xeMkcarCyzarC3",
"eMkcarCyzarCxy",
"12MkcarCyzarC3",
"eMkcarCyzarC99",
"xxMkcarCyzarC4",
"eMkcarCyzarCab"
};
Console.WriteLine("Testing candidate passwords...\n");
foreach (string candidate in candidates)
{
int checksum = CalculateChecksum(candidate);
Console.WriteLine($"Password: {candidate}");
Console.WriteLine($"Length: {candidate.Length} (Valid: {candidate.Length = 8 && candidate.Length
Magnetar on 9:47 AM 01/19/2025: just Used .NET Reflector and Decompiled to RealSource Code but All COdes are obfuscated...so Used AI to Convert Code into Readable one and this is Source Code
namespace PasswordValidator
{
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Text;
internal class PasswordChecker
{
private static bool ContainsHiddenPattern(string input) =
ReverseString(input).Contains(DecodeBinaryPattern("lIllllIIlIIIllIllIIllllIlIIIIlIllIIIIllIlIllllIIlIIIllIllIIllllIlIIlllIIlIIlIlIIlIllIIlIlIIllIlI"));
private static string ReverseString(string input)
{
char[] array = input.ToCharArray();
Array.Reverse(array);
return new string(array);
}
private static string DecodeBinaryPattern(string encodedPattern)
{
StringBuilder binaryBuilder = new StringBuilder();
foreach (char ch in encodedPattern)
{
binaryBuilder.Append((ch == 'I') ? '1' : '0');
}
return ConvertBinaryToText(binaryBuilder.ToString());
}
private static string ConvertBinaryToText(string binaryString)
{
StringBuilder textBuilder = new StringBuilder();
for (int i = 0; i
Debugger.IsAttached || (Marshal.ReadByte((IntPtr)0x7ffe02d4) != 0);
private static bool ValidatePassword(string password) =
!string.IsNullOrEmpty(password) ?
(PasswordLengthValidator.IsValidLength(password.Length) ?
(ValidateChecksum(password) ?
ContainsHiddenPattern(password) : false) : false) : false;
private static bool ValidateChecksum(string input)
{
int checksum = 0;
foreach (char ch in input)
{
checksum = (checksum
(length = 8) && (length
Magnetar on 9:49 AM 01/19/2025: private static bool ValidateChecksum(string input)
{
int checksum = 0;
foreach (char ch in input)
{
checksum = (checksum
(length = 8) && (length
Magnetar on 10:04 AM 01/19/2025: Length: 8-16 characters
Checksum: Must equal 0x5a5a (23130 in decimal)
When reversed, must contain "CrazyCrackMe"