alarm_clock
题目附件
text
https://pan.baidu.com/s/1ntjpwzC_VelRSaZTFfknYQ?pwd=mkes 提取码: mkes解题过程
解压缩包后得到一个vmdk文件,使用R-Studio磁盘恢复工具打开发现存在压缩包和音频文件
将音频文件和压缩包恢复到本地,发现压缩包解压需要密码,猜测密码存在于音频文件里
打开音频文件,根据听到的声音猜测是SSTV编码
使用Audacity工具将音频左右声道分离拼接
拼接后:
使用kali安装qsstv解sstv
text
sudo apt-get install qsstv -y
使用得到的密码解压压缩包,查看data.txt
推测为数字序列,编写脚本将其转换为笔画路径并绘制图形
python
# Sample sequences (first three lines)
input_text = """3,3,3,3,9,9,6,6,6,0,0,0,0,1,1,5,5
6,6,6,6,4,3,2
1,2,3,4,5,6,6,6,6,6,6,3,9,9,9,10,11,0,1,2,3,3
3,3,6,6,6,6,7,9,11,5,3,1,0,0,9,9,0,0
8,7,6,8,4,6,5,4
6,3,3,9,9,6,3,3,6,6,9,9
3,3,6,6,6,6,9,9,0,0,0,0,6,6,3,3
3,3,6,6,6,6
3,3,6,6,6,6,0,0,9,9,0,0
3,3,6,6,6,6,9,9,0,0,0,0
7,1,6,6,6,6,9,3,3
3,3,9,9,6,6,6,6,3,3,0,0,9,9
10,9,8,7,6,5,4,3,2
3,3
3,3,6,6,9,9,3,3,6,6,9,9
3,3,6,6,6,6,9,9,0,0,0,0
7,1,6,6,6,6,9,3,3
6,6,6,6,6,0,0,1,2,3,4,5,6,7,8,9,10,11,0
3,3
7,7,7,3,3,3,9,0,0,0,6,6,6,6,6
3,3,6,6,6,6,9,9,0,0,0,0,6,6,3,3
7,7,7,3,3,3,9,0,0,0,6,6,6,6,6
3,3,6,6,6,6,9,9,0,0,0,0
3,3
3,3,6,6,6,6,0,0,9,9,0,0
6,3,3,9,9,6,3,3,6,6,9,9
6,6,6,6,6,0,0,1,2,3,4,5,6,7,8,9,10,11,0
3,3,3,3,9,9,6,6,6,0,0,0,0,1,1,5,5
3,3
6,6,6,6,6,0,0,1,2,3,4,5,6,7,8,9,10,11,0
3,3,3,3,11,10,9,8,7,6,5,4,3,2,1
3,3,6,6,6,6
3,3,6,6,9,9,6,6,3,3
6,6,6,6,6,0,0,1,2,3,4,5,6,7,8,9,10,11,0
3,3,6,6,9,9,3,3,6,6,9,9
3,3,6,6,6,6
3,3,6,6,6,6,0,0,9,9,0,0
6,6,6,6,6,0,0,1,2,3,4,5,6,7,8,9,10,11,0
3,3,6,6,9,9,6,6,3,3
7,1,6,6,6,6,9,3,3
3,3,3,3,11,10,9,8,7,6,5,4,3,2,1
4,5,6,4,8,6,7,8"""
import matplotlib.pyplot as plt
import numpy as np
lines = [list(map(int, line.split(','))) for line in input_text.strip().split('\n')]
# Plot strokes using relative moves
for i, seq in enumerate(lines):
x, y = 0, 0
xs, ys = [x], [y]
for k in seq:
theta = np.pi/2 - k * (2 * np.pi / 12) # 0 at top, increasing clockwise
x += np.cos(theta)
y += np.sin(theta)
xs.append(x)
ys.append(y)
plt.figure()
plt.plot(xs, ys, '-o')
plt.axis('equal')
plt.title(f"Relative Stroke Sequence {i+1}")
plt.savefig('123\\'+str(i)+'.png', bbox_inches='tight')
得出flag为:
text
flag{5879016c-301b-4840-95bf-be72b379b21e}