I was stunned by how any input would give me "you win!". I thought that my bin was somehow damaged, but no. After generating a C file from an executable in ida, it all started to make sense:
if ( !strcmp(Str1, "your mum is very sexy") ) {
printf("you loose!");
}
these lines in particular are already funny. Because strcmp gives 0 if the lines are equal, -1 if the first is less than the 2nd, and 1 if vice versa.
But it's not really a problem. We still would want to get an alternative result! Besides, it's a simple crackme, and we don't gain anything aside from different text on the screen.
BUT GODDAMNIT, thank you _Vas (drum roll) - SCANF STOPS READING INPUT AT ' '!!! You could do it if you'd done "%[^\n]" in the formatter or comparing the passcode with the second "args", but it's literally an unsolvable crackme. Was funny to strip the bin and search for the main manually tho |
==> |