This crackme is how not make a RE challenge:
All core is based on 3DES, like:
key = md5(strong_and_unique_key)
decryption_suite = DES3.new(key, DES3.MODE_ECB)
decrypted_bytes = decryption_suite.decrypt(b64decode(data))
You see, the only approach for get the key is bruteforce.
The "example" keys for hidding messages are: xzxzx, xzxzxz, xzx, xzxzxzxzx, xzxzxzxzxy, xzxzxzxzx.
Hence is expected the dictionary {x, z} and variable length.
The autor at this point change the rules and put a strong password (ascii_uppercase + ascii_lowercase + digits + symbols).
This is bored, because the strong of the crackme is based on a crypto function, nothing to reverse.
|
==> |
@Xor0 Congrats!
You achieved the main objectives.
Note for new solvers
[*] Look at some random antidebug tecniques.
[**] Try to bypass/understand simple hash functions. |
==> |
@Herz3h Your key is so fun and creative. |
==> |
@AshVsEvilDead, i think you comment is for another crackme, because the format on this crackme is different. Only numbers ( blocked by gui) |
==> |
Hints:
Look the logo.
0, 1, 2, 3, ...,7 |
==> |
Including .pdb for this entry level crackme is overkill. |
==> |
Congratz! both are valid
Note for new solvers:
* Find your own key.
Fun fact.
* Can you find a key with all different bytes
* Can you find the key that contains the string "boy" (anywhere position)? |
==> |