0%

2024安徽省分布式

2024安徽省分布式

Misc (2/4)

Jack

拿到压缩包,先解压文件,是一个文件夹,里面有434个文件,看一眼文件

图片1

是个小作文,里面混杂着一串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,考虑比较特殊的编码,进去看看 图片2

​ 随波逐流一键解码,拿到flag,可以算是非预期吧

3

paint

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

4

自动识别

解出来像是(x,y)坐标

5

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

6

Crypto (3/4)

enemy_command

7

看一眼三个值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雏形了,考虑是凯撒密码,随波逐流爆破:

9

拿到flag