Work out what input you would need to solve this puzzle. unsigned long state = 1; unsigned int pb_rand() { state = state * 1103515245 + 12345; return (unsigned int)(state/65536) % 32768; } void pb_srand(unsigned long seed){ state = seed; } void scramble(char *str, int rounds){ int len = strlen(str); for(int i=0; i= len){ char *msg = "\"My, what big ints you have, Granny!\" " "\"All the better to overflow your buffers my dear\"\n"; failure(msg); } } long seed = (((long) (101320728)) << 32) + ~(101320728); pb_srand(seed); scramble(letters, 100); char buf[128] = {}; for(int i=0; i<5; i++){ buf[i] = letters[idxs[i]]; } union{ long l; char s[8]; } chong; chong.l = 478426194263; if(strcmp(buf,chong.s)==0){ return; } char *msg = "Where's that stripey hipster with the lame hat and cane?\n" "He's all spread around in there. Find him."; failure(msg); }
Work out what input you would need to solve this puzzle.
unsigned long state = 1;
unsigned int pb_rand() {
state = state * 1103515245 + 12345;
return (unsigned int)(state/65536) % 32768;
}
void pb_srand(unsigned long seed){
state = seed;
}
void scramble(char *str, int rounds){
int len = strlen(str);
for(int i=0; i<rounds; i++){
unsigned int idx = pb_rand() % len;
unsigned int jdx = pb_rand() % len;
char tmp = str[idx];
str[idx] = str[jdx];
str[jdx] = tmp;
}
}
char letters[128] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
void phase09(){
int idxs[5] = {};
int len = strlen(letters);
for(int i=0; i<5; i++){
idxs[i] = atoi(next_input());
if(idxs[i] >= len){
char *msg =
"\"My, what big ints you have, Granny!\" "
"\"All the better to overflow your buffers my dear\"\n";
failure(msg);
}
}
long seed = (((long) (101320728)) << 32) + ~(101320728);
pb_srand(seed);
scramble(letters, 100);
char buf[128] = {};
for(int i=0; i<5; i++){
buf[i] = letters[idxs[i]];
}
union{
long l;
char s[8];
} chong;
chong.l = 478426194263;
if(strcmp(buf,chong.s)==0){
return;
}
char *msg =
"Where's that stripey hipster with the lame hat and cane?\n"
"He's all spread around in there. Find him.";
failure(msg);
}
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 4 images