CTF

alictf 2015 Cake writeup

Posted by Jieming Gu on 2016-12-20

本文为2015年alictf中Cake的writeup。

Cake writeup

首先点我下载题目。直接使用jeb反编译,关键代码如下:

1

2

3

具体流程:输入一个字符串input,初始化一个长度为16的数组v2,然后inputgetKey()返回的v0_1进行异或,结果与v2相同。根据异或的自反性,我们可知input = v2 ^ v0_1

值得注意的地方是getkey()返回bobdylan

4

5

计算过程:

1
2
3
4
5
6
7
8
a = [0, 3, 13, 19, 85, 5, 15, 78, 22, 7, 7, 68, 14, 5, 15, 42]
b = 'bobdylan'
s = ''
i = 0
for x in a:
s+= chr(x ^ ord(b[i % len(b)]))
i += 1
print s

答案是blow,in the winD