SSTエンジニアブログ

SSTのエンジニアによるWebセキュリティの技術を中心としたエンジニアブログです。

ソースコードを解析してみた

はじめに

こんにちは。Unofficial髭男爵のYOSHIIです。
突然ですが、みなさんはお酒はお好きですか?
ほとんどのサラリーマンはお酒の力を借りて生きていると思っているのですが、かくいう私も人並みに嗜んでおります。
私はビールやウイスキー、黒霧島をよく飲むのですが、実はワインが苦手なんです。貴族なのに。
これファンタグレープやないかーい(チン

ソースコード

システムエンジニアに向けて作られた日本酒「ソースコード」をご存じでしょうか?
ラベルには実際にソースコードが書かれており、メッセージが隠されているそうです。
面白そうなので購入して調べてみました。

この記事では解答そのものは記載しませんが、ネタバレに近い内容が含まれる可能性があります。
ご自身で解いてみたいという方は下記のリンクからソースコードを購入し、ブラウザを閉じることをおすすめします。
ぜひ解いた後にまた見に来てください。

ソースコード | 山形県の日本酒 | 酒・日本酒の通販ならKURAND(クランド)

※以降の画像は文字を読み取りにくくするため、あえて画質を落としているものが含まれます。

ラベルのコードを読み取る

スマホで読み取る

さて、どうやってコードを読み取るかなんですが、今時のスマホは画像の文字を読み取る機能があります。

テキスト認識アイコン

右上のアイコンをタップすると文字を選択して読み取ることができます。すごい!

うまくいかない

どうやら湾曲しているせいで画面に全て納まっていないようです。
どうしようかとしばらく考えた後、パノラマで撮ればどうかと思いつきました。
このように視点を変えて試行錯誤することは、脆弱性を探す上でもよくある大事なポイントです。
SSTでの業務が活きました。

ガッタガタ

ダメそう。
ただでさえパノラマ撮影って難しいのに、今回は酒瓶にカメラを向けて自分が公転する必要があったので、そりゃブレるよなって。
困りました。

ラベルをはがす

仕方がないのでラベルをはがすことにしました。やり方を検索して調べます。
障害に突き当たった時、ネットを検索して問題を解決する能力もエンジニアには要求されます。
対話型AIが便利な時代になりましたが、いつでも使えるとは限りませんからね。

まずはラベルを水に浸けます。数分でいいようです。

水に浸ける

ラップを巻いて1時間ほど放置します。

ラップを巻いて放置

その後、ラベルを端からゆっくりとはがしていきます。慎重に。

ゆっくりはがす

きれいにはがせました。
このようにして飲んだお酒のラベルを蒐集する愛好家もいるそうです。

できあがり

さっそくスマホでコードを読み取りましょう。

読み取れ…

ダメっぽい。 文字が小さすぎるのかな?
仕方ない…

地道にやる

写経じゃぁぁぁぁッ!!!!

小一時間後

できあがったものがこちらになります。
言語はなんだろうと思いつつ購入しましたが、console.logで始まっているのですぐわかりますね。
では実行してみましょう。

実行結果

どうやら同じ文言を3回繰り返す結果になったようです。

おわりに

いかがでしたか?
ちなみに中身の方は、さわやかな酸味とすっきりとした甘みの味わいで、飲みやすいお酒でした。
ネタとしてだけでなく、2つの意味で美味しいお酒ですので、気になった方はぜひ試してみてください。

追伸

コードの実行結果を見て違和感を覚えた方もいるかと思います。
実はラベルのソースコードを解析して終わりではありません。
商品ページのコメントにもありますが、さらに隠されたメッセージがあります。
この先はキミの目で確かめてくれ!