DASCTF_Misc_holmes

下载附件得到一张福尔摩斯的图片

上面有跳舞小人加密,通过对照表解密得到YOUAREHOLMES

Foremost分离得到一个压缩包,用刚刚得到的YOUAREHOLMES作为密码解压得到一个python文件,打开得到一个程序

flag="flag{********************************}"
encflag=[]
for i in range(len(flag)):
    encflag.append((ord(flag[i])+i)%128)
print(encflag)
'''
[102, 109, 99, 106, 127, 57, 60, 104, 60, 107, 61, 62, 65, 68, 115, 64, 67, 119, 66, 74, 73, 74, 119, 75, 74, 79, 79,
76, 78, 82, 78, 85, 83, 84, 82, 86, 92, 34]
'''

运行得到flag{********************************}的每个字符加上它的位置下标再转10进制ascii的结果
于是写个脚本,将注释中的加密后的flag给还原得到flag

flag1=[102, 109, 99, 106, 127, 57, 60, 104, 60, 107, 61, 62, 65, 68, 115, 64, 67, 119, 66, 74, 73, 74, 119, 75, 74, 79, 79, 76, 78, 82, 78, 85, 83, 84, 82, 86, 92, 34]
flag2=[]
flag3=[]

for i in range(0,len(flag1)):
    flag2.append(flag1[i]-i)

for i in range(0,len(flag2)):
    flag3.append(flag2[i]%128)
print(flag3)

Flag=flag3
for i in Flag:
    print(chr(int(i)),end="")

运行得到flag{46a4b3357e13f0755a42651250633038}

你可能感兴趣的:(信息安全,密码学,python)