solved using breakpoints |
==> |
password is username + "-hqghumea"
Enter your username: iwn
Enter your serial key: iwn-hqghumea
Correct! Good job :D |
==> |
keygen
import string, random
chars, key = string.ascii_letters + string.digits, ""
for i in range(11): key += random.choice(chars)
key = 'A' + key[0:2] + 'X' + key[4:7] + "X" + key[8:]
print(key) |
==> |
This is the criteria for correct keys:
if ( (unsigned int)strlen(var2) == 11 )
{
if ( *var2 == 65 && var2[3] == 88 && var2[7] == 88 )
{
printf("The key entered is valid");
return 1i64;
}
as long as you have those, you have a correct key |
==> |
take a look at this compiled code to find out the valid format:
if ( (unsigned int)strlen(localkey) == 11 )
{
if ( *localkey == 65 && localkey[3] == 45 && localkey[7] == 45 )
{ |
==> |
keygen
import string, random
chars, key = string.ascii_letters + string.digits, ""
for i in range(random.randint(4, 9)): key += random.choice(chars)
key = 't' + key[1:4] + '-' + key[5:]
print(key) |
==> |
SPOILER
else if ( user_input[0] == 116 && user_input[4] == 45 )
figured they were ascii characters. found it and the first character had to be a 't' and the fifth a hyphen. |
==> |
user: iwn
serial: 5134153
cracked :) |
==> |
user: iwn
key: 89 |
==> |
https://i.imgur.com/xLYizkj.png
cracked |
==> |
fill with NOPs |
==> |
just saying, this got detected by antiviruses and virustotal |
==> |
cracked, but what is it supposed to print if u returned a valid password? just "Welcome !" or is there anything else? |
==> |
just search strings |
==> |
K4FlAXxF4LZ |
==> |