Last active
May 23, 2018 10:29
-
-
Save sudhackar/80fbe0d670d727e42bb481cfd11174de to your computer and use it in GitHub Desktop.
Source for Nullcon HackIM 2018 RE 150 Quad Math
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def genf(a,b,i): | |
stub = '''void f%d(){ // %c - %c | |
if (((int)(flag[%d])*(int)(flag[%d]) + %d * (int)(flag[%d]) + %d ) || ((int)(flag[%d])*(int)(flag[%d]) + %d * (int)(flag[%d]) + %d )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
}''' | |
print stub % ( i, chr(a), chr(b), i, i, (-(a+b)), i, (a*b), i+2, i+2, (-(a+b)), i+2, (a*b)) | |
flag = raw_input().strip() | |
print '''#include <stdio.h> | |
int fin = 1; | |
char flag[%d] ;//%s; | |
''' % (len(flag), flag) | |
for i in xrange(0, len(flag) - 2): | |
genf(ord(flag[i]),ord(flag[i+2]),i) | |
print '''int main(int argc, char **argv) | |
{ | |
scanf("%s", flag); | |
''' | |
for i in xrange(len(flag)-2): | |
print "f%d();" % (i) | |
print ''' printf("%d",fin); | |
return 0; | |
}''' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
int fin = 1; | |
char flag[68] ;//hackim18{'W0W_wow_w0w_WoW_y0u_h4v3_m4th_sk1ll5_W0oW_w0ow_wo0w_Wo0W'}; | |
void f0(){ // h - c | |
if (((int)(flag[0])*(int)(flag[0]) + -203 * (int)(flag[0]) + 10296 ) || ((int)(flag[2])*(int)(flag[2]) + -203 * (int)(flag[2]) + 10296 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f1(){ // a - k | |
if (((int)(flag[1])*(int)(flag[1]) + -204 * (int)(flag[1]) + 10379 ) || ((int)(flag[3])*(int)(flag[3]) + -204 * (int)(flag[3]) + 10379 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f2(){ // c - i | |
if (((int)(flag[2])*(int)(flag[2]) + -204 * (int)(flag[2]) + 10395 ) || ((int)(flag[4])*(int)(flag[4]) + -204 * (int)(flag[4]) + 10395 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f3(){ // k - m | |
if (((int)(flag[3])*(int)(flag[3]) + -216 * (int)(flag[3]) + 11663 ) || ((int)(flag[5])*(int)(flag[5]) + -216 * (int)(flag[5]) + 11663 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f4(){ // i - 1 | |
if (((int)(flag[4])*(int)(flag[4]) + -154 * (int)(flag[4]) + 5145 ) || ((int)(flag[6])*(int)(flag[6]) + -154 * (int)(flag[6]) + 5145 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f5(){ // m - 8 | |
if (((int)(flag[5])*(int)(flag[5]) + -165 * (int)(flag[5]) + 6104 ) || ((int)(flag[7])*(int)(flag[7]) + -165 * (int)(flag[7]) + 6104 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f6(){ // 1 - { | |
if (((int)(flag[6])*(int)(flag[6]) + -172 * (int)(flag[6]) + 6027 ) || ((int)(flag[8])*(int)(flag[8]) + -172 * (int)(flag[8]) + 6027 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f7(){ // 8 - ' | |
if (((int)(flag[7])*(int)(flag[7]) + -95 * (int)(flag[7]) + 2184 ) || ((int)(flag[9])*(int)(flag[9]) + -95 * (int)(flag[9]) + 2184 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f8(){ // { - W | |
if (((int)(flag[8])*(int)(flag[8]) + -210 * (int)(flag[8]) + 10701 ) || ((int)(flag[10])*(int)(flag[10]) + -210 * (int)(flag[10]) + 10701 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f9(){ // ' - 0 | |
if (((int)(flag[9])*(int)(flag[9]) + -87 * (int)(flag[9]) + 1872 ) || ((int)(flag[11])*(int)(flag[11]) + -87 * (int)(flag[11]) + 1872 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f10(){ // W - W | |
if (((int)(flag[10])*(int)(flag[10]) + -174 * (int)(flag[10]) + 7569 ) || ((int)(flag[12])*(int)(flag[12]) + -174 * (int)(flag[12]) + 7569 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f11(){ // 0 - _ | |
if (((int)(flag[11])*(int)(flag[11]) + -143 * (int)(flag[11]) + 4560 ) || ((int)(flag[13])*(int)(flag[13]) + -143 * (int)(flag[13]) + 4560 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f12(){ // W - w | |
if (((int)(flag[12])*(int)(flag[12]) + -206 * (int)(flag[12]) + 10353 ) || ((int)(flag[14])*(int)(flag[14]) + -206 * (int)(flag[14]) + 10353 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f13(){ // _ - o | |
if (((int)(flag[13])*(int)(flag[13]) + -206 * (int)(flag[13]) + 10545 ) || ((int)(flag[15])*(int)(flag[15]) + -206 * (int)(flag[15]) + 10545 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f14(){ // w - w | |
if (((int)(flag[14])*(int)(flag[14]) + -238 * (int)(flag[14]) + 14161 ) || ((int)(flag[16])*(int)(flag[16]) + -238 * (int)(flag[16]) + 14161 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f15(){ // o - _ | |
if (((int)(flag[15])*(int)(flag[15]) + -206 * (int)(flag[15]) + 10545 ) || ((int)(flag[17])*(int)(flag[17]) + -206 * (int)(flag[17]) + 10545 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f16(){ // w - w | |
if (((int)(flag[16])*(int)(flag[16]) + -238 * (int)(flag[16]) + 14161 ) || ((int)(flag[18])*(int)(flag[18]) + -238 * (int)(flag[18]) + 14161 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f17(){ // _ - 0 | |
if (((int)(flag[17])*(int)(flag[17]) + -143 * (int)(flag[17]) + 4560 ) || ((int)(flag[19])*(int)(flag[19]) + -143 * (int)(flag[19]) + 4560 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f18(){ // w - w | |
if (((int)(flag[18])*(int)(flag[18]) + -238 * (int)(flag[18]) + 14161 ) || ((int)(flag[20])*(int)(flag[20]) + -238 * (int)(flag[20]) + 14161 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f19(){ // 0 - _ | |
if (((int)(flag[19])*(int)(flag[19]) + -143 * (int)(flag[19]) + 4560 ) || ((int)(flag[21])*(int)(flag[21]) + -143 * (int)(flag[21]) + 4560 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f20(){ // w - W | |
if (((int)(flag[20])*(int)(flag[20]) + -206 * (int)(flag[20]) + 10353 ) || ((int)(flag[22])*(int)(flag[22]) + -206 * (int)(flag[22]) + 10353 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f21(){ // _ - o | |
if (((int)(flag[21])*(int)(flag[21]) + -206 * (int)(flag[21]) + 10545 ) || ((int)(flag[23])*(int)(flag[23]) + -206 * (int)(flag[23]) + 10545 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f22(){ // W - W | |
if (((int)(flag[22])*(int)(flag[22]) + -174 * (int)(flag[22]) + 7569 ) || ((int)(flag[24])*(int)(flag[24]) + -174 * (int)(flag[24]) + 7569 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f23(){ // o - _ | |
if (((int)(flag[23])*(int)(flag[23]) + -206 * (int)(flag[23]) + 10545 ) || ((int)(flag[25])*(int)(flag[25]) + -206 * (int)(flag[25]) + 10545 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f24(){ // W - y | |
if (((int)(flag[24])*(int)(flag[24]) + -208 * (int)(flag[24]) + 10527 ) || ((int)(flag[26])*(int)(flag[26]) + -208 * (int)(flag[26]) + 10527 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f25(){ // _ - 0 | |
if (((int)(flag[25])*(int)(flag[25]) + -143 * (int)(flag[25]) + 4560 ) || ((int)(flag[27])*(int)(flag[27]) + -143 * (int)(flag[27]) + 4560 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f26(){ // y - u | |
if (((int)(flag[26])*(int)(flag[26]) + -238 * (int)(flag[26]) + 14157 ) || ((int)(flag[28])*(int)(flag[28]) + -238 * (int)(flag[28]) + 14157 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f27(){ // 0 - _ | |
if (((int)(flag[27])*(int)(flag[27]) + -143 * (int)(flag[27]) + 4560 ) || ((int)(flag[29])*(int)(flag[29]) + -143 * (int)(flag[29]) + 4560 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f28(){ // u - h | |
if (((int)(flag[28])*(int)(flag[28]) + -221 * (int)(flag[28]) + 12168 ) || ((int)(flag[30])*(int)(flag[30]) + -221 * (int)(flag[30]) + 12168 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f29(){ // _ - 4 | |
if (((int)(flag[29])*(int)(flag[29]) + -147 * (int)(flag[29]) + 4940 ) || ((int)(flag[31])*(int)(flag[31]) + -147 * (int)(flag[31]) + 4940 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f30(){ // h - v | |
if (((int)(flag[30])*(int)(flag[30]) + -222 * (int)(flag[30]) + 12272 ) || ((int)(flag[32])*(int)(flag[32]) + -222 * (int)(flag[32]) + 12272 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f31(){ // 4 - 3 | |
if (((int)(flag[31])*(int)(flag[31]) + -103 * (int)(flag[31]) + 2652 ) || ((int)(flag[33])*(int)(flag[33]) + -103 * (int)(flag[33]) + 2652 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f32(){ // v - _ | |
if (((int)(flag[32])*(int)(flag[32]) + -213 * (int)(flag[32]) + 11210 ) || ((int)(flag[34])*(int)(flag[34]) + -213 * (int)(flag[34]) + 11210 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f33(){ // 3 - m | |
if (((int)(flag[33])*(int)(flag[33]) + -160 * (int)(flag[33]) + 5559 ) || ((int)(flag[35])*(int)(flag[35]) + -160 * (int)(flag[35]) + 5559 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f34(){ // _ - 4 | |
if (((int)(flag[34])*(int)(flag[34]) + -147 * (int)(flag[34]) + 4940 ) || ((int)(flag[36])*(int)(flag[36]) + -147 * (int)(flag[36]) + 4940 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f35(){ // m - t | |
if (((int)(flag[35])*(int)(flag[35]) + -225 * (int)(flag[35]) + 12644 ) || ((int)(flag[37])*(int)(flag[37]) + -225 * (int)(flag[37]) + 12644 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f36(){ // 4 - h | |
if (((int)(flag[36])*(int)(flag[36]) + -156 * (int)(flag[36]) + 5408 ) || ((int)(flag[38])*(int)(flag[38]) + -156 * (int)(flag[38]) + 5408 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f37(){ // t - _ | |
if (((int)(flag[37])*(int)(flag[37]) + -211 * (int)(flag[37]) + 11020 ) || ((int)(flag[39])*(int)(flag[39]) + -211 * (int)(flag[39]) + 11020 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f38(){ // h - s | |
if (((int)(flag[38])*(int)(flag[38]) + -219 * (int)(flag[38]) + 11960 ) || ((int)(flag[40])*(int)(flag[40]) + -219 * (int)(flag[40]) + 11960 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f39(){ // _ - k | |
if (((int)(flag[39])*(int)(flag[39]) + -202 * (int)(flag[39]) + 10165 ) || ((int)(flag[41])*(int)(flag[41]) + -202 * (int)(flag[41]) + 10165 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f40(){ // s - 1 | |
if (((int)(flag[40])*(int)(flag[40]) + -164 * (int)(flag[40]) + 5635 ) || ((int)(flag[42])*(int)(flag[42]) + -164 * (int)(flag[42]) + 5635 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f41(){ // k - l | |
if (((int)(flag[41])*(int)(flag[41]) + -215 * (int)(flag[41]) + 11556 ) || ((int)(flag[43])*(int)(flag[43]) + -215 * (int)(flag[43]) + 11556 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f42(){ // 1 - l | |
if (((int)(flag[42])*(int)(flag[42]) + -157 * (int)(flag[42]) + 5292 ) || ((int)(flag[44])*(int)(flag[44]) + -157 * (int)(flag[44]) + 5292 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f43(){ // l - 5 | |
if (((int)(flag[43])*(int)(flag[43]) + -161 * (int)(flag[43]) + 5724 ) || ((int)(flag[45])*(int)(flag[45]) + -161 * (int)(flag[45]) + 5724 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f44(){ // l - _ | |
if (((int)(flag[44])*(int)(flag[44]) + -203 * (int)(flag[44]) + 10260 ) || ((int)(flag[46])*(int)(flag[46]) + -203 * (int)(flag[46]) + 10260 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f45(){ // 5 - W | |
if (((int)(flag[45])*(int)(flag[45]) + -140 * (int)(flag[45]) + 4611 ) || ((int)(flag[47])*(int)(flag[47]) + -140 * (int)(flag[47]) + 4611 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f46(){ // _ - 0 | |
if (((int)(flag[46])*(int)(flag[46]) + -143 * (int)(flag[46]) + 4560 ) || ((int)(flag[48])*(int)(flag[48]) + -143 * (int)(flag[48]) + 4560 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f47(){ // W - o | |
if (((int)(flag[47])*(int)(flag[47]) + -198 * (int)(flag[47]) + 9657 ) || ((int)(flag[49])*(int)(flag[49]) + -198 * (int)(flag[49]) + 9657 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f48(){ // 0 - W | |
if (((int)(flag[48])*(int)(flag[48]) + -135 * (int)(flag[48]) + 4176 ) || ((int)(flag[50])*(int)(flag[50]) + -135 * (int)(flag[50]) + 4176 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f49(){ // o - _ | |
if (((int)(flag[49])*(int)(flag[49]) + -206 * (int)(flag[49]) + 10545 ) || ((int)(flag[51])*(int)(flag[51]) + -206 * (int)(flag[51]) + 10545 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f50(){ // W - w | |
if (((int)(flag[50])*(int)(flag[50]) + -206 * (int)(flag[50]) + 10353 ) || ((int)(flag[52])*(int)(flag[52]) + -206 * (int)(flag[52]) + 10353 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f51(){ // _ - 0 | |
if (((int)(flag[51])*(int)(flag[51]) + -143 * (int)(flag[51]) + 4560 ) || ((int)(flag[53])*(int)(flag[53]) + -143 * (int)(flag[53]) + 4560 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f52(){ // w - o | |
if (((int)(flag[52])*(int)(flag[52]) + -230 * (int)(flag[52]) + 13209 ) || ((int)(flag[54])*(int)(flag[54]) + -230 * (int)(flag[54]) + 13209 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f53(){ // 0 - w | |
if (((int)(flag[53])*(int)(flag[53]) + -167 * (int)(flag[53]) + 5712 ) || ((int)(flag[55])*(int)(flag[55]) + -167 * (int)(flag[55]) + 5712 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f54(){ // o - _ | |
if (((int)(flag[54])*(int)(flag[54]) + -206 * (int)(flag[54]) + 10545 ) || ((int)(flag[56])*(int)(flag[56]) + -206 * (int)(flag[56]) + 10545 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f55(){ // w - w | |
if (((int)(flag[55])*(int)(flag[55]) + -238 * (int)(flag[55]) + 14161 ) || ((int)(flag[57])*(int)(flag[57]) + -238 * (int)(flag[57]) + 14161 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f56(){ // _ - o | |
if (((int)(flag[56])*(int)(flag[56]) + -206 * (int)(flag[56]) + 10545 ) || ((int)(flag[58])*(int)(flag[58]) + -206 * (int)(flag[58]) + 10545 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f57(){ // w - 0 | |
if (((int)(flag[57])*(int)(flag[57]) + -167 * (int)(flag[57]) + 5712 ) || ((int)(flag[59])*(int)(flag[59]) + -167 * (int)(flag[59]) + 5712 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f58(){ // o - w | |
if (((int)(flag[58])*(int)(flag[58]) + -230 * (int)(flag[58]) + 13209 ) || ((int)(flag[60])*(int)(flag[60]) + -230 * (int)(flag[60]) + 13209 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f59(){ // 0 - _ | |
if (((int)(flag[59])*(int)(flag[59]) + -143 * (int)(flag[59]) + 4560 ) || ((int)(flag[61])*(int)(flag[61]) + -143 * (int)(flag[61]) + 4560 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f60(){ // w - W | |
if (((int)(flag[60])*(int)(flag[60]) + -206 * (int)(flag[60]) + 10353 ) || ((int)(flag[62])*(int)(flag[62]) + -206 * (int)(flag[62]) + 10353 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f61(){ // _ - o | |
if (((int)(flag[61])*(int)(flag[61]) + -206 * (int)(flag[61]) + 10545 ) || ((int)(flag[63])*(int)(flag[63]) + -206 * (int)(flag[63]) + 10545 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f62(){ // W - 0 | |
if (((int)(flag[62])*(int)(flag[62]) + -135 * (int)(flag[62]) + 4176 ) || ((int)(flag[64])*(int)(flag[64]) + -135 * (int)(flag[64]) + 4176 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f63(){ // o - W | |
if (((int)(flag[63])*(int)(flag[63]) + -198 * (int)(flag[63]) + 9657 ) || ((int)(flag[65])*(int)(flag[65]) + -198 * (int)(flag[65]) + 9657 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f64(){ // 0 - ' | |
if (((int)(flag[64])*(int)(flag[64]) + -87 * (int)(flag[64]) + 1872 ) || ((int)(flag[66])*(int)(flag[66]) + -87 * (int)(flag[66]) + 1872 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f65(){ // W - } | |
if (((int)(flag[65])*(int)(flag[65]) + -212 * (int)(flag[65]) + 10875 ) || ((int)(flag[67])*(int)(flag[67]) + -212 * (int)(flag[67]) + 10875 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
int main(int argc, char **argv) | |
{ | |
scanf("%s", flag); | |
f0(); | |
f1(); | |
f2(); | |
f3(); | |
f4(); | |
f5(); | |
f6(); | |
f7(); | |
f8(); | |
f9(); | |
f10(); | |
f11(); | |
f12(); | |
f13(); | |
f14(); | |
f15(); | |
f16(); | |
f17(); | |
f18(); | |
f19(); | |
f20(); | |
f21(); | |
f22(); | |
f23(); | |
f24(); | |
f25(); | |
f26(); | |
f27(); | |
f28(); | |
f29(); | |
f30(); | |
f31(); | |
f32(); | |
f33(); | |
f34(); | |
f35(); | |
f36(); | |
f37(); | |
f38(); | |
f39(); | |
f40(); | |
f41(); | |
f42(); | |
f43(); | |
f44(); | |
f45(); | |
f46(); | |
f47(); | |
f48(); | |
f49(); | |
f50(); | |
f51(); | |
f52(); | |
f53(); | |
f54(); | |
f55(); | |
f56(); | |
f57(); | |
f58(); | |
f59(); | |
f60(); | |
f61(); | |
f62(); | |
f63(); | |
f64(); | |
f65(); | |
printf("%d",fin); | |
return 0; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from subprocess import Popen, PIPE, STDOUT | |
import string | |
charset = string.uppercase+string.lowercase+string.digits+"{}'_" | |
candidates = [set() for i in xrange(66)] | |
# charset = "abcd" | |
for i in charset: | |
flag = i*68 | |
p = Popen(['./a.out'], stdout=PIPE, stdin=PIPE, stderr=STDOUT) | |
stdout = p.communicate(input=flag)[0] | |
# print i," : ",stdout | |
for idx,c in enumerate(stdout): | |
if c == "0": | |
candidates[idx].add(i) | |
# print candidates | |
print "".join(candidates[0] - candidates[2]), | |
print "".join(candidates[1] - candidates[3]), | |
for i in xrange(63): | |
print "".join((candidates[i] & candidates[i+2])), | |
print "".join(candidates[64] - candidates[62]), | |
print "".join(candidates[65] - candidates[63]), |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <klee/klee.h> | |
#include <stdint.h> | |
#include <assert.h> | |
int i; | |
int fin = 1; | |
char flag[68] ;//hackim18{'W0W_wow_w0w_WoW_y0u_h4v3_m4th_sk1ll5_W0oW_w0ow_wo0w_Wo0W'}; | |
//hackim18{'W0W_w_w_w0w_W_W_y0u_h4v3_m4th_sk1ll5_W0oW_w0ow_wo0w_Wo0W'} | |
void f0(){ // h - c | |
if (((int)(flag[0])*(int)(flag[0]) + -203 * (int)(flag[0]) + 10296 ) || ((int)(flag[2])*(int)(flag[2]) + -203 * (int)(flag[2]) + 10296 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f1(){ // a - k | |
if (((int)(flag[1])*(int)(flag[1]) + -204 * (int)(flag[1]) + 10379 ) || ((int)(flag[3])*(int)(flag[3]) + -204 * (int)(flag[3]) + 10379 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f2(){ // c - i | |
if (((int)(flag[2])*(int)(flag[2]) + -204 * (int)(flag[2]) + 10395 ) || ((int)(flag[4])*(int)(flag[4]) + -204 * (int)(flag[4]) + 10395 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f3(){ // k - m | |
if (((int)(flag[3])*(int)(flag[3]) + -216 * (int)(flag[3]) + 11663 ) || ((int)(flag[5])*(int)(flag[5]) + -216 * (int)(flag[5]) + 11663 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f4(){ // i - 1 | |
if (((int)(flag[4])*(int)(flag[4]) + -154 * (int)(flag[4]) + 5145 ) || ((int)(flag[6])*(int)(flag[6]) + -154 * (int)(flag[6]) + 5145 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f5(){ // m - 8 | |
if (((int)(flag[5])*(int)(flag[5]) + -165 * (int)(flag[5]) + 6104 ) || ((int)(flag[7])*(int)(flag[7]) + -165 * (int)(flag[7]) + 6104 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f6(){ // 1 - { | |
if (((int)(flag[6])*(int)(flag[6]) + -172 * (int)(flag[6]) + 6027 ) || ((int)(flag[8])*(int)(flag[8]) + -172 * (int)(flag[8]) + 6027 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f7(){ // 8 - ' | |
if (((int)(flag[7])*(int)(flag[7]) + -95 * (int)(flag[7]) + 2184 ) || ((int)(flag[9])*(int)(flag[9]) + -95 * (int)(flag[9]) + 2184 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f8(){ // { - W | |
if (((int)(flag[8])*(int)(flag[8]) + -210 * (int)(flag[8]) + 10701 ) || ((int)(flag[10])*(int)(flag[10]) + -210 * (int)(flag[10]) + 10701 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f9(){ // ' - 0 | |
if (((int)(flag[9])*(int)(flag[9]) + -87 * (int)(flag[9]) + 1872 ) || ((int)(flag[11])*(int)(flag[11]) + -87 * (int)(flag[11]) + 1872 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f10(){ // W - W | |
if (((int)(flag[10])*(int)(flag[10]) + -174 * (int)(flag[10]) + 7569 ) || ((int)(flag[12])*(int)(flag[12]) + -174 * (int)(flag[12]) + 7569 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f11(){ // 0 - _ | |
if (((int)(flag[11])*(int)(flag[11]) + -143 * (int)(flag[11]) + 4560 ) || ((int)(flag[13])*(int)(flag[13]) + -143 * (int)(flag[13]) + 4560 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f12(){ // W - w | |
if (((int)(flag[12])*(int)(flag[12]) + -206 * (int)(flag[12]) + 10353 ) || ((int)(flag[14])*(int)(flag[14]) + -206 * (int)(flag[14]) + 10353 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f13(){ // _ - o | |
if (((int)(flag[13])*(int)(flag[13]) + -206 * (int)(flag[13]) + 10545 ) || ((int)(flag[15])*(int)(flag[15]) + -206 * (int)(flag[15]) + 10545 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f14(){ // w - w | |
if (((int)(flag[14])*(int)(flag[14]) + -238 * (int)(flag[14]) + 14161 ) || ((int)(flag[16])*(int)(flag[16]) + -238 * (int)(flag[16]) + 14161 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f15(){ // o - _ | |
if (((int)(flag[15])*(int)(flag[15]) + -206 * (int)(flag[15]) + 10545 ) || ((int)(flag[17])*(int)(flag[17]) + -206 * (int)(flag[17]) + 10545 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f16(){ // w - w | |
if (((int)(flag[16])*(int)(flag[16]) + -238 * (int)(flag[16]) + 14161 ) || ((int)(flag[18])*(int)(flag[18]) + -238 * (int)(flag[18]) + 14161 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f17(){ // _ - 0 | |
if (((int)(flag[17])*(int)(flag[17]) + -143 * (int)(flag[17]) + 4560 ) || ((int)(flag[19])*(int)(flag[19]) + -143 * (int)(flag[19]) + 4560 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f18(){ // w - w | |
if (((int)(flag[18])*(int)(flag[18]) + -238 * (int)(flag[18]) + 14161 ) || ((int)(flag[20])*(int)(flag[20]) + -238 * (int)(flag[20]) + 14161 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f19(){ // 0 - _ | |
if (((int)(flag[19])*(int)(flag[19]) + -143 * (int)(flag[19]) + 4560 ) || ((int)(flag[21])*(int)(flag[21]) + -143 * (int)(flag[21]) + 4560 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f20(){ // w - W | |
if (((int)(flag[20])*(int)(flag[20]) + -206 * (int)(flag[20]) + 10353 ) || ((int)(flag[22])*(int)(flag[22]) + -206 * (int)(flag[22]) + 10353 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f21(){ // _ - o | |
if (((int)(flag[21])*(int)(flag[21]) + -206 * (int)(flag[21]) + 10545 ) || ((int)(flag[23])*(int)(flag[23]) + -206 * (int)(flag[23]) + 10545 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f22(){ // W - W | |
if (((int)(flag[22])*(int)(flag[22]) + -174 * (int)(flag[22]) + 7569 ) || ((int)(flag[24])*(int)(flag[24]) + -174 * (int)(flag[24]) + 7569 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f23(){ // o - _ | |
if (((int)(flag[23])*(int)(flag[23]) + -206 * (int)(flag[23]) + 10545 ) || ((int)(flag[25])*(int)(flag[25]) + -206 * (int)(flag[25]) + 10545 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f24(){ // W - y | |
if (((int)(flag[24])*(int)(flag[24]) + -208 * (int)(flag[24]) + 10527 ) || ((int)(flag[26])*(int)(flag[26]) + -208 * (int)(flag[26]) + 10527 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f25(){ // _ - 0 | |
if (((int)(flag[25])*(int)(flag[25]) + -143 * (int)(flag[25]) + 4560 ) || ((int)(flag[27])*(int)(flag[27]) + -143 * (int)(flag[27]) + 4560 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f26(){ // y - u | |
if (((int)(flag[26])*(int)(flag[26]) + -238 * (int)(flag[26]) + 14157 ) || ((int)(flag[28])*(int)(flag[28]) + -238 * (int)(flag[28]) + 14157 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f27(){ // 0 - _ | |
if (((int)(flag[27])*(int)(flag[27]) + -143 * (int)(flag[27]) + 4560 ) || ((int)(flag[29])*(int)(flag[29]) + -143 * (int)(flag[29]) + 4560 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f28(){ // u - h | |
if (((int)(flag[28])*(int)(flag[28]) + -221 * (int)(flag[28]) + 12168 ) || ((int)(flag[30])*(int)(flag[30]) + -221 * (int)(flag[30]) + 12168 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f29(){ // _ - 4 | |
if (((int)(flag[29])*(int)(flag[29]) + -147 * (int)(flag[29]) + 4940 ) || ((int)(flag[31])*(int)(flag[31]) + -147 * (int)(flag[31]) + 4940 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f30(){ // h - v | |
if (((int)(flag[30])*(int)(flag[30]) + -222 * (int)(flag[30]) + 12272 ) || ((int)(flag[32])*(int)(flag[32]) + -222 * (int)(flag[32]) + 12272 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f31(){ // 4 - 3 | |
if (((int)(flag[31])*(int)(flag[31]) + -103 * (int)(flag[31]) + 2652 ) || ((int)(flag[33])*(int)(flag[33]) + -103 * (int)(flag[33]) + 2652 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f32(){ // v - _ | |
if (((int)(flag[32])*(int)(flag[32]) + -213 * (int)(flag[32]) + 11210 ) || ((int)(flag[34])*(int)(flag[34]) + -213 * (int)(flag[34]) + 11210 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f33(){ // 3 - m | |
if (((int)(flag[33])*(int)(flag[33]) + -160 * (int)(flag[33]) + 5559 ) || ((int)(flag[35])*(int)(flag[35]) + -160 * (int)(flag[35]) + 5559 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f34(){ // _ - 4 | |
if (((int)(flag[34])*(int)(flag[34]) + -147 * (int)(flag[34]) + 4940 ) || ((int)(flag[36])*(int)(flag[36]) + -147 * (int)(flag[36]) + 4940 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f35(){ // m - t | |
if (((int)(flag[35])*(int)(flag[35]) + -225 * (int)(flag[35]) + 12644 ) || ((int)(flag[37])*(int)(flag[37]) + -225 * (int)(flag[37]) + 12644 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f36(){ // 4 - h | |
if (((int)(flag[36])*(int)(flag[36]) + -156 * (int)(flag[36]) + 5408 ) || ((int)(flag[38])*(int)(flag[38]) + -156 * (int)(flag[38]) + 5408 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f37(){ // t - _ | |
if (((int)(flag[37])*(int)(flag[37]) + -211 * (int)(flag[37]) + 11020 ) || ((int)(flag[39])*(int)(flag[39]) + -211 * (int)(flag[39]) + 11020 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f38(){ // h - s | |
if (((int)(flag[38])*(int)(flag[38]) + -219 * (int)(flag[38]) + 11960 ) || ((int)(flag[40])*(int)(flag[40]) + -219 * (int)(flag[40]) + 11960 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f39(){ // _ - k | |
if (((int)(flag[39])*(int)(flag[39]) + -202 * (int)(flag[39]) + 10165 ) || ((int)(flag[41])*(int)(flag[41]) + -202 * (int)(flag[41]) + 10165 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f40(){ // s - 1 | |
if (((int)(flag[40])*(int)(flag[40]) + -164 * (int)(flag[40]) + 5635 ) || ((int)(flag[42])*(int)(flag[42]) + -164 * (int)(flag[42]) + 5635 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f41(){ // k - l | |
if (((int)(flag[41])*(int)(flag[41]) + -215 * (int)(flag[41]) + 11556 ) || ((int)(flag[43])*(int)(flag[43]) + -215 * (int)(flag[43]) + 11556 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f42(){ // 1 - l | |
if (((int)(flag[42])*(int)(flag[42]) + -157 * (int)(flag[42]) + 5292 ) || ((int)(flag[44])*(int)(flag[44]) + -157 * (int)(flag[44]) + 5292 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f43(){ // l - 5 | |
if (((int)(flag[43])*(int)(flag[43]) + -161 * (int)(flag[43]) + 5724 ) || ((int)(flag[45])*(int)(flag[45]) + -161 * (int)(flag[45]) + 5724 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f44(){ // l - _ | |
if (((int)(flag[44])*(int)(flag[44]) + -203 * (int)(flag[44]) + 10260 ) || ((int)(flag[46])*(int)(flag[46]) + -203 * (int)(flag[46]) + 10260 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f45(){ // 5 - W | |
if (((int)(flag[45])*(int)(flag[45]) + -140 * (int)(flag[45]) + 4611 ) || ((int)(flag[47])*(int)(flag[47]) + -140 * (int)(flag[47]) + 4611 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f46(){ // _ - 0 | |
if (((int)(flag[46])*(int)(flag[46]) + -143 * (int)(flag[46]) + 4560 ) || ((int)(flag[48])*(int)(flag[48]) + -143 * (int)(flag[48]) + 4560 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f47(){ // W - o | |
if (((int)(flag[47])*(int)(flag[47]) + -198 * (int)(flag[47]) + 9657 ) || ((int)(flag[49])*(int)(flag[49]) + -198 * (int)(flag[49]) + 9657 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f48(){ // 0 - W | |
if (((int)(flag[48])*(int)(flag[48]) + -135 * (int)(flag[48]) + 4176 ) || ((int)(flag[50])*(int)(flag[50]) + -135 * (int)(flag[50]) + 4176 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f49(){ // o - _ | |
if (((int)(flag[49])*(int)(flag[49]) + -206 * (int)(flag[49]) + 10545 ) || ((int)(flag[51])*(int)(flag[51]) + -206 * (int)(flag[51]) + 10545 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f50(){ // W - w | |
if (((int)(flag[50])*(int)(flag[50]) + -206 * (int)(flag[50]) + 10353 ) || ((int)(flag[52])*(int)(flag[52]) + -206 * (int)(flag[52]) + 10353 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f51(){ // _ - 0 | |
if (((int)(flag[51])*(int)(flag[51]) + -143 * (int)(flag[51]) + 4560 ) || ((int)(flag[53])*(int)(flag[53]) + -143 * (int)(flag[53]) + 4560 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f52(){ // w - o | |
if (((int)(flag[52])*(int)(flag[52]) + -230 * (int)(flag[52]) + 13209 ) || ((int)(flag[54])*(int)(flag[54]) + -230 * (int)(flag[54]) + 13209 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f53(){ // 0 - w | |
if (((int)(flag[53])*(int)(flag[53]) + -167 * (int)(flag[53]) + 5712 ) || ((int)(flag[55])*(int)(flag[55]) + -167 * (int)(flag[55]) + 5712 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f54(){ // o - _ | |
if (((int)(flag[54])*(int)(flag[54]) + -206 * (int)(flag[54]) + 10545 ) || ((int)(flag[56])*(int)(flag[56]) + -206 * (int)(flag[56]) + 10545 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f55(){ // w - w | |
if (((int)(flag[55])*(int)(flag[55]) + -238 * (int)(flag[55]) + 14161 ) || ((int)(flag[57])*(int)(flag[57]) + -238 * (int)(flag[57]) + 14161 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f56(){ // _ - o | |
if (((int)(flag[56])*(int)(flag[56]) + -206 * (int)(flag[56]) + 10545 ) || ((int)(flag[58])*(int)(flag[58]) + -206 * (int)(flag[58]) + 10545 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f57(){ // w - 0 | |
if (((int)(flag[57])*(int)(flag[57]) + -167 * (int)(flag[57]) + 5712 ) || ((int)(flag[59])*(int)(flag[59]) + -167 * (int)(flag[59]) + 5712 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f58(){ // o - w | |
if (((int)(flag[58])*(int)(flag[58]) + -230 * (int)(flag[58]) + 13209 ) || ((int)(flag[60])*(int)(flag[60]) + -230 * (int)(flag[60]) + 13209 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f59(){ // 0 - _ | |
if (((int)(flag[59])*(int)(flag[59]) + -143 * (int)(flag[59]) + 4560 ) || ((int)(flag[61])*(int)(flag[61]) + -143 * (int)(flag[61]) + 4560 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f60(){ // w - W | |
if (((int)(flag[60])*(int)(flag[60]) + -206 * (int)(flag[60]) + 10353 ) || ((int)(flag[62])*(int)(flag[62]) + -206 * (int)(flag[62]) + 10353 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f61(){ // _ - o | |
if (((int)(flag[61])*(int)(flag[61]) + -206 * (int)(flag[61]) + 10545 ) || ((int)(flag[63])*(int)(flag[63]) + -206 * (int)(flag[63]) + 10545 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f62(){ // W - 0 | |
if (((int)(flag[62])*(int)(flag[62]) + -135 * (int)(flag[62]) + 4176 ) || ((int)(flag[64])*(int)(flag[64]) + -135 * (int)(flag[64]) + 4176 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f63(){ // o - W | |
if (((int)(flag[63])*(int)(flag[63]) + -198 * (int)(flag[63]) + 9657 ) || ((int)(flag[65])*(int)(flag[65]) + -198 * (int)(flag[65]) + 9657 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f64(){ // 0 - ' | |
if (((int)(flag[64])*(int)(flag[64]) + -87 * (int)(flag[64]) + 1872 ) || ((int)(flag[66])*(int)(flag[66]) + -87 * (int)(flag[66]) + 1872 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
void f65(){ // W - } | |
if (((int)(flag[65])*(int)(flag[65]) + -212 * (int)(flag[65]) + 10875 ) || ((int)(flag[67])*(int)(flag[67]) + -212 * (int)(flag[67]) + 10875 )){ | |
fin = 1; | |
} | |
else{ | |
fin = 0; | |
} | |
} | |
int main(int argc, char **argv) | |
{ | |
klee_make_symbolic(flag, sizeof(flag), "flag"); | |
const char format[] = "hackim18{''}"; | |
for(i=0; i<10; ++i) klee_assume(flag[i] == format[i]); | |
klee_assume(flag[66] == '\''); | |
klee_assume(flag[67] == '}'); | |
f0(); if(fin) return 1; | |
f1(); if(fin) return 1; | |
f2(); if(fin) return 1; | |
f3(); if(fin) return 1; | |
f4(); if(fin) return 1; | |
f5(); if(fin) return 1; | |
f6(); if(fin) return 1; | |
f7(); if(fin) return 1; | |
f8(); if(fin) return 1; | |
f9(); if(fin) return 1; | |
f10(); if(fin) return 1; | |
f11(); if(fin) return 1; | |
f12(); if(fin) return 1; | |
f13(); if(fin) return 1; | |
f14(); if(fin) return 1; | |
f15(); if(fin) return 1; | |
f16(); if(fin) return 1; | |
f17(); if(fin) return 1; | |
f18(); if(fin) return 1; | |
f19(); if(fin) return 1; | |
f20(); if(fin) return 1; | |
f21(); if(fin) return 1; | |
f22(); if(fin) return 1; | |
f23(); if(fin) return 1; | |
f24(); if(fin) return 1; | |
f25(); if(fin) return 1; | |
f26(); if(fin) return 1; | |
f27(); if(fin) return 1; | |
f28(); if(fin) return 1; | |
f29(); if(fin) return 1; | |
f30(); if(fin) return 1; | |
f31(); if(fin) return 1; | |
f32(); if(fin) return 1; | |
f33(); if(fin) return 1; | |
f34(); if(fin) return 1; | |
f35(); if(fin) return 1; | |
f36(); if(fin) return 1; | |
f37(); if(fin) return 1; | |
f38(); if(fin) return 1; | |
f39(); if(fin) return 1; | |
f40(); if(fin) return 1; | |
f41(); if(fin) return 1; | |
f42(); if(fin) return 1; | |
f43(); if(fin) return 1; | |
f44(); if(fin) return 1; | |
f45(); if(fin) return 1; | |
f46(); if(fin) return 1; | |
f47(); if(fin) return 1; | |
f48(); if(fin) return 1; | |
f49(); if(fin) return 1; | |
f50(); if(fin) return 1; | |
f51(); if(fin) return 1; | |
f52(); if(fin) return 1; | |
f53(); if(fin) return 1; | |
f54(); if(fin) return 1; | |
f55(); if(fin) return 1; | |
f56(); if(fin) return 1; | |
f57(); if(fin) return 1; | |
f58(); if(fin) return 1; | |
f59(); if(fin) return 1; | |
f60(); if(fin) return 1; | |
f61(); if(fin) return 1; | |
f62(); if(fin) return 1; | |
f63(); if(fin) return 1; | |
f64(); if(fin) return 1; | |
f65(); if(fin) return 1; | |
if(!fin) klee_assert(0); | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment