下载附件是一个py文件,python反编译工具打开。
这段代码是一个简单的Python脚本,用于验证用户输入的字符串(称为“flag”)是否符合特定的格式和加密规则。分析代码是一个简单的xor异或即:程序将遍历字符串的每个字符(从第二个字符开始,即索引1到第34个字符)。对于每一对相邻的字符,程序计算它们的ASCII值进行异或(XOR)操作,并将结果与预先定义的数组arr
中相应位置的值进行比较。如果任何一对字符的异或结果与arr
中的值不匹配,程序将打印“error!”并退出。
据此编写一个脚本。
python">flag='N'
arr=[29, 0, 16, 23, 18, 61, 43, 41, 13, 28, 88, 94, 49, 110, 66, 44, 43, 28, 91, 108, 61, 7, 22, 7, 43, 51, 44, 46, 9, 18, 20, 6, 2, 24]
for i in range(34):for j in range(128):if (ord(flag[i])^j==arr[i]):flag+=chr(j)
print(flag)
flag就是
NSSCTF{Pyth0n_1s_th3_best_l@nguage}