【攻防世界】A-Weird-C-Program

⭕、知识点

1、特殊空格、制表符
2、脚本编写
3、ASCII字符

一、题目

一个cpp文件

image

二、解题

1、观察发现代码有奇怪的空格
2、全选发现制表符和空格交替排布
image

而且除了奇数行有信息,偶数行只有固定一个制表符,应该是用于分隔

3、那信息应该隐藏在奇数行的符号,一个代表0一个代表1

4、上脚本提取


with open("23bf9cc9da7542e3bbad8a559ee6b8ba.cpp", "r", encoding="utf-8") as f:bits_per_line = []current_line = 0while True:current_line += 1line = f.readline()if not line:breakbits = ""if current_line % 2 == 1:for char in line:if char == " ":bits += "0"elif char == "\t":bits += "1"else:continuebits_per_line.append(bits)print(bits_per_line[:-5])result = "".join([chr(int(bit[4:],2)) for bit in bits_per_line[:-5]])print(result)

5、运行得到flag
image

三、答案

the_flag_is_WpUAItsadmhak