题目描述
菜狗截获了一张菜鸡发给菜猫的动态图,却发现另有玄机
Solution
题目下载出来是一个压缩文件。解压后发现里面包含了一系列黑白图片。
假设 0 是黑色,1 是白色,r
表示对该 01 流进行取反。我们可以得到下面这个流:
10011001 10010011 10011110 10011000 10000100 10111001 10001010 10110001 10100000 10011000 10010110 10111001 10000010
我们尝试编写一段 Python 代码来转换它们:
my_list = [
0b10011001,
0b10010011,
0b10011110,
0b10011000,
0b10000100,
0b10111001,
0b10001010,
0b10110001,
0b10100000,
0b10011000,
0b10010110,
0b10111001,
0b10000010,
]
reverse_list = []
char_list = []
for i in my_list:
reverse_bit = (~i) & 0x000000ff
reverse_list.append(reverse_bit)
char_list.append(chr(reverse_bit))
print("my_list: ", my_list)
print("reverse_list: ", reverse_list)
print("reverse_char: ", char_list)
这段代码运行结果如下:
my_list: [153, 147, 158, 152, 132, 185, 138, 177, 160, 152, 150, 185, 130]
reverse_list: [102, 108, 97, 103, 123, 70, 117, 78, 95, 103, 105, 70, 125]
reverse_char: ['f', 'l', 'a', 'g', '{', 'F', 'u', 'N', '_', 'g', 'i', 'F', '}']
Flag 在反转二进制位后被发现。