coyote_0x90 on 5:19 AM 10/27/2019: Spoilers below!
[+] CrackMe made by mike.ac#2770.
[+] Tune credits to cncpp.divilabs.com.
Please enter the secret password: 55-1-1-1
Press any key to continue . . .
It plays the Mario song on the PC speakers when you are successful. The 1s in the password can be replaced with any hex number, as long as there are 4 numbers total and the first is 55 (the first number is compared against an instruction in memory).
The trick is that jumps are written into the executable code while it is running, and then later removed, so it is difficult to follow what is going on unless you step through it. The code scans for a specific magic number and replaces it with a jump when the jump should be taken, and replaces it afterwards.
Unfortunately, it crashes after the song is done, but I have figured out why.
The reason for the crash at the end, even if you succeed, is that the same magic number is used twice, 0F DA DD EE 0F. This magic number is used for the last jump, but since it is used twice, that last jump does not get written in, and some previous jump gets written instead. But, the chiptunes still play.
It is less satisfying to win and still crash, so I patched out the last jump to get it to not crash. After the song is done, it calls system("pause").
4epuxa on 5:10 PM 11/09/2020: Why do i have an exception when i try to step into out dx,eax.
EXCEPTION_PRIV_INSTRUCTION
You must me logged to submit a solution
Write a comment
Share how awesome the crack me was or where you struggle to finish it! Stay polite and do not spoil the solution/flag!
Rate the difficulty
How would you rate the difficulty of this crackme ?