1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| inorder = [18337, 16920, 16163, 10590, 8183, 5427, 3170, 793, 546, 1938, 2943, 3455, 3196, 4136, 6883, 6817, 6903, 8851, 8192, 8410, 11036, 10592, 12391, 14100, 13843, 12714, 17205, 18732, 18611, 19770, 19149, 19433, 19277, 20831, 19774, 31795, 22193, 21536, 21483, 23838, 22524, 22430, 22199, 22596, 23460, 30712, 27174, 24997, 23889, 23864, 25595, 25281, 26649, 26646, 28360, 30588, 28583, 31879]
target = [18418, 16987, 16234, 10509, 8099, 5448, 3099, 809, 599, 1997, 2868, 3345, 3148, 4191, 6844, 6851, 6814, 8957, 8289, 8360, 11109, 10559, 12308, 14119, 13938, 12760, 17270, 18756, 18668, 19790, 19135, 19418, 19326, 20736, 19722, 31837, 22229, 21631, 21378, 23920, 22476, 22508, 22227, 22561, 23510, 30631, 27218, 25047, 23909, 23886, 25502, 25267, 26730, 26658, 28324, 30557, 28634]
# flag = [0x53, 0x43, 0x49, 0x53, 0x54, 0x7b, 0x79, 0x30, 0x75, 0x5f, 0x4b, 0x6e, 0x30, 0x77, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x33, 0x61, 0x72, 0x43, 0x68, 0x5f, 0x74, 0x72, 0x33, 0x33, 0x5f, 0x34, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x30, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x34, 0x76, 0x65, 0x72, 0x73, 0x34, 0x6c, 0x21, 0x7d]
flag = []
for i, t in zip(inorder, target):
for guess in range(0xffff):
if i ^ guess == t:
print(f'[+] Found {guess}')
flag.append(guess)
break
print(len(flag))
for f in flag:
print(chr(f), end='')
print(' ')
|