您的位置:首页 > 理论基础 > 计算机网络

第三届4.29“安恒杯”网络安全技术大赛初赛wirteup心得-MISC

2016-05-05 15:33 399 查看
writeup地址:

http://www.easyaq.org/info/infoLink?id=851212685&from=groupmessage&isappinstalled=0

寂静之城

http://blog.sina.com.cn/s/blog_bb4702370102w4oa.html

一张图诠释我的内心

import wave

import pylab as pl

import numpy as np

# 打开WAV文档

f = wave.open(r”flag.wav”, “rb”)

# 读取格式信息

# (nchannels, sampwidth, framerate, nframes, comptype, compname)

params = f.getparams()

nchannels, sampwidth, framerate, nframes = params[:4]

print(params)

# 读取波形数据

str_data = f.readframes(nframes)

f.close()

#将波形数据转换为数组

wave_data = np.fromstring(str_data, dtype=np.short)

wave_data.shape = –1, 2

wave_data = wave_data.T

time = np.arange(0, nframes) * (1.0 / framerate)

# 绘制波形

pl.subplot(211)

pl.plot(time, wave_data[0])

pl.subplot(212)

pl.plot(time, wave_data[1], c=“g”)

pl.xlabel(“time (seconds)”)

pl.show()


黑科技。。
不用改,可以直接用,将音频转化为图片。但是逆向回去,将图片转化为音频,难度确实有点大,首先要图像识别,得到每一个点的坐标,再根据给定的帧率,参数还原出大概的音频,听出flag。由于代码行数较多,这里不提供代码,有兴趣的同学可以自己查找相关资料,编写解题代码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: