New_Love_Song

点击此处获得更好的阅读体验


WriteUp 来源

https://xz.aliyun.com/t/1589

题目考点

  • 音频分析

解题思路

不知道各位还记不记得去年HCTF的图片隐写题,去年的大一通信小学弟今年已经大二了。 他从课堂上学会了音频隐写,并选了大家(wo)LP的一首歌准备在双11送给大家(虽然没几个人开到)

解题分析: 题目后来也放过hint: concentrate on the waveform 注意波形图 用Audacity打开new_love_song.wav,基本近似于一种矩形:

而正常的音频波形往往都是高低起伏的

所以我们就把波放大,能够发现相隔特定的距离 就会出现一段直线。接触过的人肯定知道,直线波就是某一特定的值

能够猜测 肯定有东西藏在其中,尝试提取出来,发现是一串01串 长度可开方 ,又是熟悉的转换二维码,扫描get flag

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
clc
clear
close all

%% load data
wm_sz = 20000; % watermark size
px_sz = wm_sz/8; % number of pixels
im_sz = sqrt(px_sz); % image size
host_new = audioread ('new_love_song.wav'); % new (watermarked) host signal
host_new = uint8(255*(host_new + 0.5)); % double [-0.5 +0.5] to 'uint8' [0 255]

%% prepare host
host_bin = dec2bin(host_new, 8); % binary host [n 8]

%% extract watermark
wm_bin_str = host_bin(1:wm_sz, 8);
wm_bin = reshape(wm_bin_str, px_sz , 8);
wm_str = zeros(px_sz, 1, 'uint8');
for i = 1:px_sz % extract water mark from the first plane of host
wm_str(i, :) = bin2dec(wm_bin(i, :));
end
wm = reshape(wm_str, im_sz , im_sz);

%% show image
imshow(wm)

Flag

1