angr-in-action/crackmes/hashcrscanf/hashcr.c

28 lines
381 B
C

#include <stdio.h>
#include <stdlib.h>
const char *serial = "\x31\x3e\x3d\x26\x31";
int check(char *ptr)
{
int i;
int hash = 0xABCD;
for (i = 0; ptr[i]; i++)
hash += ptr[i] ^ serial[i % 5];
return hash;
}
int main()
{
char input[72] = {0};
scanf_s("%s", input);
int ret = check(input);
if (ret == 0xad6d)
printf("Win\n");
else
printf("fail\n");
return 0;
}