题目描述

菜狗截获了一张菜鸡发给菜猫的动态图,却发现另有玄机

Solution

题目下载出来是一个压缩文件。解压后发现里面包含了一系列黑白图片。
007-1.png

假设 0 是黑色,1 是白色,r表示对该 01 流进行取反。我们可以得到下面这个流:

10011001 10010011 10011110 10011000 10000100 10111001 10001010 10110001 10100000 10011000 10010110 10111001 10000010

我们尝试编写一段 Python 代码来转换它们:

  1. my_list = [
  2. 0b10011001,
  3. 0b10010011,
  4. 0b10011110,
  5. 0b10011000,
  6. 0b10000100,
  7. 0b10111001,
  8. 0b10001010,
  9. 0b10110001,
  10. 0b10100000,
  11. 0b10011000,
  12. 0b10010110,
  13. 0b10111001,
  14. 0b10000010,
  15. ]
  16. reverse_list = []
  17. char_list = []
  18. for i in my_list:
  19. reverse_bit = (~i) & 0x000000ff
  20. reverse_list.append(reverse_bit)
  21. char_list.append(chr(reverse_bit))
  22. print("my_list: ", my_list)
  23. print("reverse_list: ", reverse_list)
  24. print("reverse_char: ", char_list)

这段代码运行结果如下:

  1. my_list: [153, 147, 158, 152, 132, 185, 138, 177, 160, 152, 150, 185, 130]
  2. reverse_list: [102, 108, 97, 103, 123, 70, 117, 78, 95, 103, 105, 70, 125]
  3. reverse_char: ['f', 'l', 'a', 'g', '{', 'F', 'u', 'N', '_', 'g', 'i', 'F', '}']

Flag 在反转二进制位后被发现。