nightxyz on 4:08 PM 12/01/2023: username and password are 6 characters long and must be identical. Serial : 0000-0000-0000-
No need to write a keygen.
hacktooth on 7:23 PM 12/01/2023: ops bug my bad xD
hacktooth on 7:24 PM 12/01/2023: Do you find the algorithm? @nigthxyz
nightxyz on 10:39 PM 12/01/2023: @hacktooth No. I found serial in dump view and the others are brute force and some luck :)
kkk on 5:10 AM 12/03/2023: algorithm is straightforward
Schuemi on 5:46 PM 12/04/2023: nice, thank you. Found the calculation and the very simple anti debug system. I used Wine, so the anti debug system didn't work ;)
hacktooth on 8:19 PM 12/04/2023: @schuemi im going to fix this crap made by me
KillerThrown on 2:03 AM 12/19/2023: Thanks for the Crack Me. Although I did not manage to make a keygen like you said. I did however made some progress in terms of learning about reversing functions and so on. So, once again thanks.
I used IDA for a bit and found that after the serial is taken from the user a function is called in which the address '0x2380E0' is stored into function var 'v1' and later on is dereferenced to compare to a copy of the serial string that the user provided. This is the code im talking about,
{
v1 = (void **)Block;
while ( *v1 == *serial_str_cpy )
{
++v1;
++serial_str_cpy;
v3 = v2
KillerThrown on 2:11 AM 12/19/2023: So, now you can write your own program or use something like CheatEngine to get the correct serial via the address '0x2380E0' (string[10] btw) to your username and password. The solution is a bit of a workaround but it is what it is. Thx again for the crack me!!!!
HateTeamsAndHatePPL on 6:51 PM 01/30/2024: To help : The algo is inside the "FUN_00d91b10" - "FUN_00d91920". it take the username and password perform some xoring. Another function take the result and convert it to string and add some "-".
Similar to :
for(int i = 0; i