题目描述
菜狗截获了一份报文如下c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2
,生气地掀翻了桌子(╯°□°)╯︵ ┻━┻
Solution
观察该字符串是 a-z
和 数字 的组合,这可能是一个十六进制字符串。每两个十六进制数代表一个 byte,两个两个分一组,我们尝试写一个 Python 程序转换:
hex_str = "c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2"
num = ""
for i in range(0, len(hex_str), 2):
tmp_str = hex_str[i:i+2]
# ASCII 只用了 7 位二进制,因此要减去 2^7 即128
num += chr(int(tmp_str, 16) - 128)
print(num)
输出结果如下:
Hi, FreshDog! The flag is: hjzcydjzbjdcjkzkcugisdchjyjsbdfr
把格式拼接一下,Flag 提交成功。