Home
Forums
Software
Articles
Research
Codebin
About
Logotype
Prepstorm's KeygenMe #1
Started by Prepstorm, 2020-01-20 20:27:13
Total posts: 5
Page: 1 of 1Prev pageNext page
Prepstorm
Posted 2020-01-20 20:27:13
Avatar
Moderator
15 posts
Wrote a keygenme in C++. Since I am a busy guy, this is probably not the best one I ever did. If you crack it, please tell the community what you think about it.

Good luck!
Attachment: please login before download.

#1
Anasazi
Posted 2020-01-20 22:05:52
Avatar
Violent Saint
Administrator
17 posts
Nice one!

Show spoiler
Bright the hawk's flight on the empty sky
#2
Prepstorm
Posted 2020-01-20 22:28:31
Avatar
Moderator
15 posts
Quoted from Anasazi
Nice one!

Solution
c

char szUser[32] = "anasazi";

int EAX = 0, EDX = 0, ECX = 0, ESI = 0;

for (int i = 0; i < strlen(szUser); i++)
{
EAX = szUser[i];
ECX = 0x73;

EDX = szUser[i];

EDX = EDX * 0x79;
EAX = EDX * 0x6E;
ECX = EAX * 0x6F;
ESI = ECX * 0x6B;
ESI = ESI + i;

ESI = ESI ^ strlen(szUser);
}

printf("key for %s = %d\n", szUser, ESI);


Good work!

#3
Anasazi
Posted 2020-02-13 14:48:32
Avatar
Violent Saint
Administrator
17 posts
I noticed that the code was not complete, EDX does not hold the input[counter] but rather the remainder of the divide. While EAX holds the quotient. As long as you'd keep characters used in your name below 0x73 it would work as expected. Full code posted below. :)

Show spoiler

Full disassembly with comments of the routine

Show spoiler
Bright the hawk's flight on the empty sky
#4
Prepstorm
Posted 2020-02-19 17:58:54
Avatar
Moderator
15 posts
The code looks more complete now. Good work! However, the hardcoded username would be a nice edit. ;)

#5
Total posts: 5
Page: 1 of 1Prev pageNext page