网鼎杯 2018 Unpleasant_music WP

部署运行你感兴趣的模型镜像

下载文件,用Audacity打开,查看频谱图,放大波形,其有一定的规律 -01 序列

使用python文件解码:生成的 RAR 里面有一个nnnnoflag.txt,里面没有 fla

import wave, codecs
import numpy as np

wavfile =  wave.open(u'music.wav',"rb")
params = wavfile.getparams()
nframes = params[3] # 采样点数
datawav = wavfile.readframes(nframes) # 读取音频,字符串格式
wavfile.close()
datause = np.fromstring(datawav, dtype = np.short) # 将字符串转化为短整型

result_bin, result_hex = '', ''
mx = 0
for i in range(len(datause) - 1):
    if datause[i] > mx:
        mx = datause[i]
    try:
        if(datause[i] < 0 and datause[i+1] >= 0):
            if (mx - 24000 > 0):
                result_bin += '1'
                mx = datause[i+1]
            else:
                result_bin += '0'
                mx = datause[i+1]
    except:
        break

for i in range(0, len(result_bin), 4):
    result_hex += hex(int(result_bin[i : i + 4], 2))[2:]

# result_hex 开头为 Rar
file_rar = open("result.rar","wb")
file_rar.write(codecs.decode(result_hex, 'hex_codec'))
file_rar.close()

生成的 RAR 里面只有一个nnnnoflag.txt,里面没有 flag

RAR 由可变长的块组成,这些块的没有固定的先后顺序,但要求第一个块必须是标志块并且其后紧跟一个归档头部块。每个块均以以下字段开头。

HEAD_TYPE 的值及对应的块类型

用 010 Editor 打开result.rar发现有一块的 HEAD_TYPE 是0x7a

前面已经出现了标志块和归档头部块,就改成0x74,保存后将RAR报使用binwalk分离,发现STM.png文件

STM.png只有一半,将该文件放进随波逐流CTF工具修复宽高后,扫码得到flag

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值