题目描述
菜狗截获了一张菜鸡发给菜猫的动态图,却发现另有玄机
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) & 0x000000ffreverse_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 在反转二进制位后被发现。
