BinaryNewbie on 1:37 AM 08/04/2019: Really easy, solved. I will post a write up.
Thanks for the crackme.
BinaryNewbie on 1:45 AM 08/04/2019: I solved it, in a lazy way, i need to look better for write a keygen for him
juansacco on 9:07 AM 08/05/2019: Alternative solution to getcwd: Break on-runtime here:
loc_559B769418B2:
cmp [rbp+var_C], 0
juansacco on 9:07 AM 08/05/2019: Hi Scooby !!
Where are you??
here
You won a medal Scooby !!
Ephoria on 7:42 AM 08/11/2019: Thanks for this ! I will post 2 solutions of this program
mikejerez on 3:19 AM 08/13/2019: I reversed it and made a keygen in Python. Where can I post it?
mrT4ntr4 on 6:42 PM 08/13/2019: @mikejerez you can submit it in the solutions section.
Read FAQ before submitting it though..
SYS_V on 3:50 AM 08/14/2019: Solved via DLL injection, replacing getcwd(). This method can be used to put Scooby anywhere.
$ LD_PRELOAD=$PWD/inject_scooby.so ./save_scooby
injected!
Hi Scooby !!
Where are you??
Jupiter
You won a medal Scooby !!
######################################################
Source code of inject_scooby.so :
#include
#include
char *getcwd(char *buf, size_t size) {
printf("injected!\n");
return "Jupiter";
}
Ephoria on 5:08 PM 08/16/2019: Here is my solution: https://github.com/Dixyder/crackmes/tree/master/save_scooby
wrongbaud on 12:28 AM 08/29/2019: What is the password for the zip file?
maikelsec on 6:09 PM 09/01/2019: You won a medal Scooby !! was fun thnx for making
math__0x0 on 7:03 PM 09/26/2019: root@kali:~# ./save_scooby
Hi Scooby !!
Where are you??
$TQQV
You won a medal Scooby !!
XilefEnork on 8:26 AM 10/06/2019: This was my first crack me, and it was the perfect difficulty. At first I struggled a little with the encryption but after some thinking it was pretty clear. Awesome crackme :)
spaceman on 4:50 PM 10/10/2019: This was a fun challenge and a great way to learn and sharpen my reversing skills, thanks :)
mrT4ntr4 on 6:55 AM 11/04/2019: I m glad u liked it guys :)
MALT0_CliMb on 10:51 PM 12/10/2019: Dude thx for this binary ;). It was very funny for me - key-gen is written of course in python :).
Emarth on 12:06 PM 12/28/2019: I'm new to cracking and reversing. This one was on the perfect level for me. It's a lot of fun finding out how it works I loved it. Learned a lot :)
onehitwonder on 1:45 PM 12/30/2019: Thanks, mtT4ntr4! Very nice for beginners. Learned a lot. Though you seem to have overlooked something. The length of the entered key is not being checked. Hence, no keygen necessary. Entering the first char is always correct, which should always be $ (/).
@math__0x0
You shouldn't work as the root user! Especially when executing code you can't trust.
zakaria on 10:02 PM 12/30/2019: guys sorry but how do i extract the zip file. from where i get hte password
mr_sandman on 10:58 PM 02/14/2020: That was a cool Crackme.
I have a question: what reverse software do you guys use?
I used Ghidra, but it seems people decompile the binaries manually somehow.
Anyway, I solved it and here is explanation how (read the text below if you have no concept how to solve the task):
When you run the program, it gets path of it's location (in my case, it was /home/johnnysins/Downloads/), next it changes all the "/" into "$" and changes the letters into letters that go 30 (or as it was written in the code - 0x1e) bits earlier (according to ASCII table).
When you enter the password, it just compares it to the modified path.
So, the passwords $, $JQ, $JQOG, etc. are valid.
Here is the decompiled source code - https://pastebin.com/NAEXAi8S =)
ghsi10 on 10:06 AM 08/05/2020: you should check
if (path_len == input_len )
before:
while ( index
Darky on 2:28 PM 06/10/2021: Input "$" works in any directory
hackingmaterials on 10:49 AM 07/21/2021: ./save_scooby
Hi Scooby !!
Where are you??
$J
You won a medal Scooby !!