./keygenme: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./keygenme)
|
==> |
Solution and write-up posted here: https://binaryresearch.github.io/2020/01/15/Analyzing-ELF-Binaries-with-Malformed-Headers-Part-3-Solving-A-Corrupted-Keygenme.html |
==> |
It would be more appropriate to say this is a level 1 crackme, not level 2. |
==> |
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";
}
|
==> |
as far as I can see, there is nothing in the crackme that shows how the files were encrypted. I tried XORing them together since they are the same number of bytes but the output looked like nonsense. |
==> |
ghidra threw an error when I was looking at the function graph for decrypt (I think. Can't remember which function exactly, haven't tried to replicate it yet). Don't know if it's the same error ker2x encountered. |
==> |