tim0tei on 2020-03-12 19:37:
A classic level 1 for beginners! Thanks.
aechiara on 2020-04-02 16:35:
very good starting point
b1h0 on 2020-04-17 17:19:
About a week ago I sent my solution. But since I see that it does not appear, I leave here the link of my GitHub repository where I have also left it.
https://github.com/gabimarti/crackmes-solutions/blob/master/crackmes.one/Shad3-Keyg3n_M1/b1h0-Shad3-Keyg3n_M1.md
internaut401 on 2020-04-30 21:26:
Solved! Very easy, for beginners ;)
ttotons on 2020-05-10 17:29:
Thank you, this was pretty easy and really fun! I had to use my old friend Ascii Table.
venomR1 on 2020-06-15 07:50:
Very good for beginners.
Elephant on 2025-06-30 13:27:
[Click to reveal]FLAG: "#fuck~irgc"
004007fa int64_t check_key(char* userInput)
004007fa { // var_20 unused
004007fa int32_t var_20 = 0;
0040080e int32_t tmp = 0;
0040080e
00400825 // has between 8 and 10 chars, including
00400825 if (strlen(userInput) 7 && strlen(userInput) 0x3e7)
004008bd return 1;
004008bd
004008a3 printf("Nope 999:
break
print(f'Congrads, use password {tmppass}')
Solution by elprofesor on 2020-03-24 20:20: Using ghidra. You have a pdf file with info about how i found the logic behind and some info about the keygen. Also I attached a keygen.py script. Cheers!
Solution by b1h0 on 2020-04-10 12:26: Here is my solution to crackme with dynamic analysis in Ghidra, and the source code with the keygen to generate the possible passwords.
Solution by Shad0wCloud on 2021-04-17 19:55: Here's my solution.
.
.
.
Basicly, u need to debug this code and watch what happens with variables.
The tricky one is that in first "if" we compare with hex 0xA (10 in dec), but then, in second "if" we sum up "v3" with decimal. So, that's all. Very nice for beginner.
Solution by KeiTachikawa on 2022-01-03 16:05: Loved it, check the decompilation and compare it with assembly. It uses structs so its nice to have some understanding of structs in assembly