-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcheck5.c
49 lines (41 loc) · 944 Bytes
/
check5.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <stdio.h>
#include <math.h>
int inner_check5(int a5, long int a6)
{
long double v6;
long double v7;
long int v8;
v6 = sqrt((double)a5);
v7 = powl((long double)a5, v6);
if ( v7 >= 9.223372036854775808e18 )
{
v8 = (long int)(v7 - 9.223372036854775808e18);
v8 ^= 0x8000000000000000;
}
else
{
v8 = (long int)v7;
}
return a6 == v8 + 21;
}
long int list[] = {0x0000001ca66fe7dd, 0x227357afcf8, 0x15,
0x0000016c5c156c54, 0x1ca66fe7dd, 0x9de93ece66,
0x16c5c156c54, 0x16c5c156c54, 0x756f3444241,
0x14660a4c5, 0x1ca66fe7dd
};
int main() {
int result;
printf("%s", "Flag: flag{packer"); // FOUND FROM STEP 1,2,3
char c;
for(int i=0; i<11; i++) {
for(char j = 0x20; j <= 0x7e; j++) {
result = inner_check5(j, list[i]);
if(result == 1) {
printf("%c", j);
break;
}
}
}
printf("%s", "annoying__}\n"); // FOUND FROM STEP 6
return 0;
}