Each unsigned integer data type has a maximum limit that will wraparound
to 0 if exceeded. In this level, you are given an unsigned char, an
unsigned short, and an unsigned int in hexadecimal. The password is
the corresponding 3 positive numbers (in decimal) that can be added
to each to overflow the data type to produce a sum of 0.
unsigned char addc, c=0x33;
unsigned short adds, s=0x6eb0;
unsigned int addi, i=0xcc50e7f;
...
printf("Your numbers are: %hhx %hx %x\n", c, s, i);
...
printf("Enter the password: ");
scanf("%hhu %hu %u", &addc, &adds, &addi);
c += addc; s += adds; i += addi; ...
if (!c && !s && !i)
printf("Good Job.");
Your numbers are: 33 6eb0 cc50e7f
Enter the password: