攻防世界 - reverse

0X01 game 2020.10.16

IDA 打开,主要是 main_0 函数

题目大概意思是:有若干灯,需要全部点亮,可以通过输入改变某一个灯的状态,但是相邻两个灯也会改变,全部灯亮方为获胜。

这是 main_0 函数主要的地方,if 条件通过后进入一个函数

这个是进入的函数最主要的地方是

paload:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
str1 = [18, 64, 98, 5, 2, 4, 6, 3, 6, 48, 49, 65, 32, 12, 48, 65, 31, 78, 62,
32, 49, 32, 1, 57, 96, 3, 21, 9, 4, 62, 3, 5, 4, 1, 2, 3, 44, 65, 78,
32, 16, 97, 54, 16, 44, 52, 32, 64, 89, 45, 32, 65, 15, 34, 18, 16, 0]

str2 = [123, 32, 18, 98, 119, 108, 65, 41, 124, 80, 125, 38, 124, 111, 74, 49, 83, 108,
94, 108, 84, 6, 96, 83, 44, 121, 104, 110, 32, 95, 117, 101, 99, 123, 127, 119,
96, 48, 107, 71, 92, 29, 81, 107, 90, 85, 64, 12, 43, 76, 86, 13, 114, 1, 117, 126, 0]

flag = ''
for i in range(56):
x = str1[i] ^ str2[i]
flag += chr(x ^ 0x13)

print(flag)