2024安徽省分布式
Misc (2/4)
Jack
拿到压缩包,先解压文件,是一个文件夹,里面有434个文件,看一眼文件

是个小作文,里面混杂着一串base64编码,考虑解密base64编码,其中一个文件就是flag,重命名所有文件,写一个python脚本,遍历文件,并提取base64编码解码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| import os import base64
def decode_base64(file_path): with open(file_path, 'rb') as f: encoded_data = f.read() decoded_data = base64.b64decode(encoded_data) return decoded_data.decode('utf-8', errors='ignore')
def process_files_in_folder(folder_path): for filename in os.listdir(folder_path): file_path = os.path.join(folder_path, filename) if os.path.isfile(file_path): try: decoded_text = decode_base64(file_path) print(decoded_text) except Exception as e: print(f"Error decoding {filename}: {str(e)}")
folder_path = r'C:\Users\xtyy\Desktop\CTF\Jack\Jack' process_files_in_folder(folder_path)
|
第227个文件解码失败了,并且其他文件没有出flag,考虑比较特殊的编码,进去看看 
随波逐流一键解码,拿到flag,可以算是非预期吧

paint
拿到图片,提示是画图,010扫一眼文件末尾,冗余较大,复制下来,粘贴到文本文件中,像是16进制编码,赛博大厨解密一下

自动识别
解出来像是(x,y)坐标

随波逐流文件操作,一把梭,生成二维码,扫码得到flag

Crypto (3/4)
enemy_command

看一眼三个值46 45 32猜测摩斯密码,写个简单的脚本46转0,45转1,32转空格
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| text=""" 45 45 45 45 45 32 45 46 46 45 32 45 45 46 46 46 32 46 46 46 45 45 32 45 45 46 46 46 32 45 45 45 45 46 32 45 46 46 46 46 32 46 32 45 45 46 46 46 32 46 46 46 46 45 32 45 45 46 46 46 32 45 46 46 46 32 45 46 46 46 46 32 46 45 32 46 46 46 46 45 32 45 45 45 46 46 32 46 46 46 46 45 32 45 45 45 46 46 32 46 46 46 45 45 32 46 46 46 45 45 32 45 46 46 46 46 32 45 46 46 46 32 46 46 46 46 45 32 46 32 46 46 46 46 46 32 45 46 46 46 46 32 46 46 46 46 45 32 45 46 46 32 46 46 46 46 45 32 45 46 46 32 46 46 46 46 46 32 45 45 46 46 46 32 46 46 46 45 45 32 46 46 46 45 45 32 45 46 46 46 46 32 45 46 46 46 46 32 46 46 46 45 45 32 45 45 45 45 45 32 46 46 46 46 45 32 46 46 45 45 45 32 45 46 46 46 46 32 46 46 46 45 45 32 45 46 46 46 46 32 46 45 45 45 45 32 45 45 46 46 46 32 45 46 46 """
for a in text: if a==" ": print("",end="") if a=="6": print("0",end="") if a=="5": print("1",end="") if a=="3": print(" ",end="")
|
输出结果:
11111 1001 11000 00011 11000 11110 10000 0 11000 00001 11000 1000 10000 01 00001 11100 00001 11100 00011 00011 10000 1000 00001 0 00000 10000 00001 100 00001 100 00000 11000 00011 00011 10000 10000 00011 11111 00001 00111 10000 00011 10000 01111 11000 100
摩斯密码解密:
0X73796E747B6A4848336B4E564D4D573366304263617D
0x开头应该是16进制
16进制解码:
synt{jHH3kNVMMW3f0Bca}
有flag雏形了,考虑是凯撒密码,随波逐流爆破:

拿到flag