点击此处获得更好的阅读体验
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