SofiaB8921 on 2022-07-23 19:00:
Can someone help me solve this? I found the function that generates the password from the username and figured out how it works but I don't understand it. It is adding both a character and an integer cast to a character and another character all together and setting it to one index of the password result. I don't understand how it casts it or how you can add all of them and get one value for the index of the password.
hdbg on 2022-07-24 04:55:
[Click to reveal]Simple one, requires extended ascii but still enjoyed
=======SPOILER==========
Username: !
Password: ‡
nassimorg on 2022-07-30 17:59:
how to solve this plz put a solution
timotei_ on 2022-07-31 20:14:
[Click to reveal]@SofiaB8921
It takes the value of a character of the username, add the value of the current position and the value 101 to it. The result will be stored as a new charakter. So for the username "timotei" the password would look like: ("t"+0+101),("i"+1+101=Ù),("m"+2+101=Ï),("o"+3+101=Ô) ... In the end the result will be: ÙÏÔ×ÝÏÔ
nassimorg on 2022-08-01 10:10:
@timotei_ can u teach me plz idk how to solve this one
shadow299 on 2022-08-06 07:40:
hey guys,
i solved this crackme by just reversing the jump.
after this every username and password is valid.
xin999 on 2022-08-16 19:05:
i guess you could just change the jne instruction to jmp and jump to 0x0040149D, if thats a dumb way to solve it im sorry im new to this
jin246 on 2022-10-03 17:28:
**********SPOILER***************
I solved it by changing the eax to 1 right before the jne 1 to it loads the solved state and not jump to the fail state
jin246 on 2022-10-03 17:36:
does this count at patching? (sorry, I'm new to this)
jinzi0113@163.com on 2022-10-17 07:23:
[Click to reveal]speculate c lang
#include
#include
int main(int argc, char *argv[])
{
char chpUser[12] = {0};
char chpPass[12] = {0};
char chpCreatePass[12] = {0};
printf("What's Your Username [Max 10 Char]\n");
scanf("%s", chpUser);
for(int i = 0;;++i)
{
int bIsOk = strlen(chpUser) i;
if((bIsOk & (strlen(chpUser) i)) == 0)
{
break;
}
chpCreatePass[i] = chpUser[i] + i + 101;
}
printf("What's The Password\n");
scanf("%s", chpPass);
if(strcmp(chpPass, chpCreatePass) == 1)
{
printf("Nice! Submit your solution on crackmes.one!\n");
}
else
{
printf("Incorrect! Try again.\n");
}
return 0;
}
Brdfe on 2023-08-31 17:11:
Is strcmp() == 1 intended?