SECCON Wars: THE Flag Awakens (QR 300pts)
動画の55秒目から画面下部でQRコードが流れる。
動画を何らかの方法でダウンロードし、50秒目からffmpegでフレーム画像を取り出す。
$ ffmpeg -i video.mp4 -ss 50 -f image2 dir/%d.png
画像の最下部を切り出し、並べる。
1 require 'RMagick'
2
3 filenames = `ls ./swars | sort -n`.split("\n")
4
5 imglist = Magick::ImageList.new
6
7 filenames.each{|fn|
8 src = Magick::Image.read("./swars/" + fn).first
9 imglist << src.crop(0,239,320,240)
10 }
11 cat = imglist.append(true)
12 cat.write("newimg.png")
生成された画像
生成された画像からQRコードの部分のみ切り出し、正方形に整形、二値化、白黒反転する。
QRコードを読みとる
結果:
SECCON{M4Y 7H3 F0RC3 83 W17H U}
CTF/Writeup/SECCON 2014 Quals Online Winter/SECCON Wars: THE Flag Awakens (最終更新日時 2014-12-07 19:45:14 更新者 imadahirosi)