rebellion on 1:43 PM 04/08/2019: Just Another StrCMP crackme
PS C:\Users\Rebellion\Downloads\5c9e187b33c5d4419da55648 .\oldsofts_keygenme_2.exe
OldSoft's KeyGenMe #2 -- Upgraded from DOS by wolverine2k
Enter your name: rebellion
Enter a serial number: 21-1028
Good Job. You have cracked OldSoft's KeyGenMe #2
Press any key to continue . . .
Fsociety10 on 12:39 PM 04/14/2019: @rebellion how did you find it
DrSpawn on 11:03 AM 04/16/2019: Change 0000000000402D31 lea rcx,qword ptr ds:[4040A2] to
0000000000402D31 lea rcx,qword ptr ds:[65FDC0]
c0b01d on 1:13 PM 04/16/2019: OldSoft's KeyGenMe #2 -- Upgraded from DOS by wolverine2k
Enter your name: c0b01d
Enter a serial number: 15-481
Good Job. You have cracked OldSoft's KeyGenMe #2
Press any key to continue . . .
And here is a keyGen I made:
https://pastebin.com/6DTAw92U
Flyour on 2:55 PM 04/28/2019: OldSoft's KeyGenMe #2 -- Upgraded from DOS by wolverine2k
Enter your name: abc
Enter a serial number: 6-309
Good Job. You have cracked OldSoft's KeyGenMe #2
u_u on 12:15 AM 04/29/2019: @c0b01d's solution is near perfect. The first part of the serial in his keygen isn't correct. The corrected keygen is here: https://pastebin.com/6DTAw92U
I would've loved to have written a writeup for it, but I wasn't smart enough to make it past the first part of the keygen.
u_u on 12:16 AM 04/29/2019: pasted the wrong link, here it is: https://pastebin.com/bhnFwP7F
th3_5had0w on 5:11 PM 05/03/2019: i put a breakpoint at:
jz short loc_402D55
and edit the zero flag to 1
Is this count as a solution?
cubi on 2:34 PM 05/10/2019: Keygen:
def serial (username):
L = len(username)
prefix = 3 * (L 1) + L
checksum = (L * (L + 7)) // 2 + sum(map(ord, username))
# ^^^^^^^^^^^^^^^^^^ doesn't need to be calculated in sum
return f"{prefix}-{checksum}"
cubi on 2:41 PM 05/10/2019: Note to self: crackmes.one ignores formatting in comments...
Formatted code can be found here: https://pastebin.com/igMU6qmC
coyote_0x90 on 8:04 PM 05/20/2019: OldSoft's KeyGenMe #2 -- Upgraded from DOS by wolverine2k
Enter your name: coyote_0x90
Enter a serial number: 26-1126
Good Job. You have cracked OldSoft's KeyGenMe #2
Press any key to continue . . .
C++ keygen https://pastebin.com/2A3uWbfM
Farseer on 5:22 AM 06/04/2019: I just Got the Function From Ida Pro
and I change last Line Code
from
return sprintf(v1, "%d-%d", 3 * (unsigned int)(v2 1) + (unsigned int)v2, v4);
to
std::cout 1) + (unsigned int)v2
Farseer on 5:26 AM 06/04/2019: Code :
https://pastebin.com/xQuFEdTh
Image :
https://imgur.com/a/ofHaX9t
I don't know why my comments not full save in post
markoto on 8:19 AM 06/21/2019: This is a nice easy keygen crackme.
juansacco on 8:57 AM 09/04/2019: Enter your name: juan
Enter a serial number: 10-452
Good Job. You have cracked OldSoft's KeyGenMe #2
Press any key to continue . . .
Parad0x13 on 3:07 AM 09/05/2019:
U: pikachu
P: 16-790
First thing I noticed was that "\nGood Job. You have cracked OldSoft's" xrefd in 0x402cc0
The function 0x401560 generates the serial
In that function we see that the format of the serial is %d-%d
The function iterates through each letter in the user input
However I wasn't really able to follow the logic well even though it's pretty simple
Alluseri on 6:49 PM 02/09/2020: Nickname: wolverine
Pass: 21-1059
Thanks for this! Liked it very much
ahron008 on 11:36 AM 03/15/2020: nice! all you need is jmp
maxicek on 1:07 PM 08/01/2020: there wasnt any trashcode, so i could just copy the generate serial function and use it by myself. anyways, the keygen source: https://pastebin.com/ca955HNU
NCP on 4:45 PM 10/16/2020: Awesome challenge for beginners.
I struggled a lot understanding that the sum of two registers between square brackets doesn't have anything to do with pointers
main:
Read char* name
Read char* serial
Generate serial from name (generateSerial)
Compare generated serial with serial
generateSerial:
Serial is formatted "%d-%d" (decimal-decimal)
First parameter is the sum between the name length and the name length, bit shifted right by 1 and then multiplied by 3 (length+(length1)*3)
Second parameter is the sum of all the characters after adding 4 and their index (string[index]+index+4)
name: NCP
serial number: 6-240
Ftor7 on 2:38 PM 03/21/2022: This is very hard for me, I can't solve that. I go to study.
Ftor7 on 12:54 PM 03/25/2022: It was interesting! Thanks!
everr on 8:52 AM 09/19/2022: OldSoft's KeyGenMe #2 -- Upgraded from DOS by wolverine2k
Enter your name: v~~~~~~~~~
Enter a serial number: 25-1337
Good Job. You have cracked OldSoft's KeyGenMe #2
ringolol on 10:37 PM 09/19/2024: it's a good problem to try x64dbg, the correct serial will be stored in one of the registers