読者です 読者をやめる 読者になる 読者になる

見習いの見習いプログラマ

まだまだ先は長い

SECCON 札幌大会に参加してきました! QRコード問題のwrite-up

どうも、みぃおです。今回はSECCON札幌に参加してきました。

詳しいことは別の記事に書こうと思うのですが、チームdodododoでチーム一の雑魚役やってました。優勝してしまったので本戦がんばります(震え声

そんなわけで、寝落ちる前にwrite-upだけ書きます。

15 デコードせよ その他 100

f:id:miio119:20131202020852p:plain

スコアボードには黄色い☆がついていて、注訳を見ると「You answered fastest in all.」ということなので、 一番乗りで解けたようです。

記録上では「2013-12-01 12:23:48に、dodododoが問題 15を解きました。」です。

f:id:miio119:20131202020507g:plain

QRコードのファイルをMacのプレビューで開くと、なぜか16枚くらい画像が出てきます。

これを、ひたすらiPhoneQRコードリーダーアプリでスキャンします。 その結果をMacに転送し、つなぎ合わせるとBASE64エンコーディングされた文字列らしきものが出てきます。

VlZOQlIwa2dUazhnVlU1QlNra0tWVmRCUjBrZ1RrOGdWVkpCU2trS1ZVNUJSMGtnVGs4Z1ZVMUJUVWtLVlU1QlIwa2dUazhnUjBWT1Mwa0tWRWhGSUVaTVFVY2dTVk1nVlU1QlIwbE9UMHBWVFU5T1ZFRkpVMDlWQ2c9PQo=

これを一度デコードすると

VVNBR0kgTk8gVU5BSkkKVVdBR0kgTk8gVVJBSkkKVU5BR0kgTk8gVU1BTUkKVU5BR0kgTk8gR0VOS0kKVEhFIEZMQUcgSVMgVU5BR0lOT0pVTU9OVEFJU09VCg==

もう一度デコードすると

USAGI NO UNAJI\nUWAGI NO URAJI\nUNAGI NO UMAMI\nUNAGI NO GENKI\nTHE FLAG IS UNAGINOJUMONTAISOU\n

ということで、答えは「UNAGINOJUMONTAISOU」でした。

実際に解くときは、こんなrubyコードを書いて対応しました(後でbase64コマンドがあることを知りました... 恥ずかしい

str = "VlZOQlIwa2dUazhnVlU1QlNra0tWVmRCUjBrZ1RrOGdWVkpCU2trS1ZVNUJSMGtnVGs4Z1ZVMUJUVWtLVlU1QlIwa2dUazhnUjBWT1Mwa0tWRWhGSUVaTVFVY2dTVk1nVlU1QlIwbE9UMHBWVFU5T1ZFRkpVMDlWQ2c9PQo="

str2 = "VVNBR0kgTk8gVU5BSkkKVVdBR0kgTk8gVVJBSkkKVU5BR0kgTk8gVU1BTUkKVU5BR0kgTk8gR0VOS0kKVEhFIEZMQUcgSVMgVU5BR0lOT0pVTU9OVEFJU09VCg=="
require "base64"

p Base64.decode64(str)
p Base64.decode64(str2)

以上です。