writeup地址:
http://www.easyaq.com/news/international/4631.html
http://www.easyaq.org/info/infoLink?id=851212685&from=groupmessage&isappinstalled=0
寂静之城
http://blog.sina.com.cn/s/blog_bb4702370102w4oa.html
一张图诠释我的内心
MISC 250 我爱Linux
图片题,了解文件的格式很重要,,此外,这种数据格式是Python的序列化文件
FF D9是结尾,也就是说,后面都是序列化文件,其中 80 03最好不要包进去,把下面的数据保存,我这里保存为dump1.pickle文件了
然后去读文件,得到结果:
提取出来都是这个:(以u或U开头的字符串表示unicode字符串,Unicode是书写国际文本的标准方法。如果你想要用非英语写文本,那么你需要有一个支持Unicode的编辑器。类似地,Python允许你处理Unicode文本——你只需要在字符串前加上前缀u或U)
一共30行这样的数据。每行有0-100个这样数据,
打印坐标得到结果:
代码:
1 import pickle 2 3 with open(‘dump1.pickle‘, ‘rb‘) as f: 4 5 data = pickle.load(f) 6 7 #for d in data: 8 9 # print(d) 10 print len(data) 11 new_data = list() 12 13 for i in range(len(data)): 14 15 tmp = [ ‘ ‘]*100 16 17 new_data.append(tmp) 18 19 for i, d in enumerate(data): 20 21 for m in d: 22 23 new_data[i][m[0]] = m[1] 24 #print m; 25 26 for i in new_data: 27 28 print(‘‘.join(i))
我爱linux
MISC 450 黑科技
这题挺变态的,给图片,然后根据图片得到声音,读出flag,第一想找工具,很难;第二,想编程,不会,转一下答案说明:
题目描述:
据说国外有黑科技可以通过振动还原声音,要不大家也试试?已知framerate=48000, nframes=1194240
解题过程:
下载附件,打开图片,如下:
根据题目给的参数,和图片上的图形,一眼就知道是什么意思了,这是一段音频左右声道的音轨图,我们的意图是想让选手根据音轨图和参数编程还原出音频,flag就在音频中,出题灵感来自于《用Python做科学计算》中这本书中!就在实战篇第一章!
下面是从音频生成图片的代码:
1 import wave 2 3 import pylab as pl 4 5 import numpy as np 6 7 # 打开WAV文档 8 9 f = wave.open(r”flag.wav”, “rb”) 10 11 # 读取格式信息 12 13 # (nchannels, sampwidth, framerate, nframes, comptype, compname) 14 15 params = f.getparams() 16 17 nchannels, sampwidth, framerate, nframes = params[:4] 18 19 print(params) 20 21 # 读取波形数据 22 23 str_data = f.readframes(nframes) 24 25 f.close() 26 27 #将波形数据转换为数组 28 29 wave_data = np.fromstring(str_data, dtype=np.short) 30 31 wave_data.shape = –1, 2 32 33 wave_data = wave_data.T 34 35 time = np.arange(0, nframes) * (1.0 / framerate) 36 37 # 绘制波形 38 39 pl.subplot(211) 40 41 pl.plot(time, wave_data[0]) 42 43 pl.subplot(212) 44 45 pl.plot(time, wave_data[1], c=“g”) 46 47 pl.xlabel(“time (seconds)”) 48 49 pl.show() 50
黑科技。。
不用改,可以直接用,将音频转化为图片。但是逆向回去,将图片转化为音频,难度确实有点大,首先要图像识别,得到每一个点的坐标,再根据给定的帧率,参数还原出大概的音频,听出flag。由于代码行数较多,这里不提供代码,有兴趣的同学可以自己查找相关资料,编写解题代码。