
2026/07/08 17:46
ユニクロのT シャツに隠された難読化された Bash スクリプトの解読
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Uniqlo と Akamai の「Peace for All」キャンペーン T シャツは、技術的なプログラミングコードを用いた巧妙な暗黙のメッセージを伝えています。背面には Roboto Mono フォントで表記されたアルファ数字ブロックが印刷されており、これは
eval を介して実行される予定の Base64 エンコードの here-string と特定されています。標準的光学的文字認識 (OCR) は、エラー補正のない Base64 に対しては手動での転記が必要となり対応に苦慮しましたが、このデザインでは Bash ターミナルのイースターエッグとしてコードがエンコードされています。デコードしてスクリプトを実行すると、ターミナル上でシネ波パターンを用いて「PEACE FOR ALL」という文字を表示するアニメーションが表示され、特定の解像度、256 色出力、およびシアンとオレンジのグラデーションが使用されます。Akamai は、ライトタンのシャツの色に早期インターネットの「ベージュボックス」美学を取り入れ、Linux をウェブの言語であると説明しています。デザイナーの Lucas de Groot はこれらの技術的な詳細を確認しており、フォントの選択は意図的であり、Consolas などの一般的なターミナルデフォルトではないことを指摘し、偽造文書に関する自身の経験を参照して真実性を確保しました。前面のハートアイコンは中二点を囲んでおり、技術的なモチーフを完成させています。特定の今後の製品は発表されていませんが、このキャンペーンはオープンソース文化を祝うコラボレーションを成功的にマーケティングしており、衣料品をインタラクティブなコードアートへと変えることで、以前コミュニティで議論されたものを参照し、インポートが切り詰められたバージョンとの区別となっています。本文
ユニクロ×Akamai T シャツに埋め込まれた Bash スクリプト:難読化されたイースターエッグの正体
妻から「面白い T シャツを見つけたよ」と紹介されたものは、バス路線図を連想させる変なデザインでした。 しかし、その裏面に隠されていたのは、「ハッピーイースター・エッグ」を表示するように設計された難読化された Bash スクリプトであるという事実には驚きました。
この T シャツはユニクロの店舗で販売されており、「ピース・フォー・オール(Peace for All)」キャンペーンを支援するため、Akamai がデザインした特別なアイテムです。
1. 表面に見るコード
背面には大きなアルファベットと数字の塊が印刷されています。 一見すると意味不明ですが、よく見ると以下の特徴があります。
- シェバン(Here Document)構造:
にeval コマンド
で処理された符号化データが含まれています。base64 --decodeeval "$(echo '...' | base64 -d)" - 完全なコードブロック:ユニクロ×Akamai の別デザイン T シャツには「return」が切断されたり(例:
)、不完全なパディングであったりしましたが、このモデルは文字通り完璧です。retu
警告:一見するとウイルスを送信するスクリプトのように見えますが、購入者にとってはクールなコレクションアイテムです。
2. OCR と復号化のプロセス
コードの文字起こしには以下の手順を踏みました。
- Android の検索機能(内蔵 OCR):非常に高性能でしたが完全な一致には至りませんでした。
- Tesseract:微調整を加えて試行錯誤しました。
- Claude AI:OCR で検出された不一致箇所を修正し、位置情報の一覧を作成して手直し作業を行いました。
復号化後のスクリプト内容
ベース64 デコードと解凍後、以下のような丁寧にコメントされた Bash スクリプトが得られました。このコードはターミナル内で無限ループし、テキストを表示します。
#!/bin/bash # Congratulations! You found the easter egg! ❤️ # おめでとうございます!隠されたサプライズを見つけました!❤️ # 表示するテキスト(ピース・フォー・オール) text="♥PEACE♥FOR♥ALL♥PEACE♥FOR♥ALL♥PEACE♥FOR♥ALL♥PEACE♥FOR♥ALL♥PEACE♥" # ターミナルのサイズを取得 cols=$(tput cols) lines=$(tput lines) # テキストの長さを計算 text_length=${#text} # カーサーを非表示にする tput civis # 中断信号(CTRL+C)を受けるとカーサーを表示して終了する trap "tput cnorm; exit" SIGINT # 角度変化の周波数設定 freq=0.2 # 無限ループ:アニメーション実行 for (( t=0; ; t+=1 )); do # 1 ライン分(1 文字)ずつ取得 char="${text:t % text_length:1}" # 角度をラジアンの単位で計算 angle=$(echo "($t) * $freq" | bc -l) # 正弦値を計算 sine_value=$(echo "s($angle)" | bc -l) # 横位置(x)を計算(ターミナル中央から右にずらす) x=$(echo "($cols / 2) + ($cols / 4) * $sine_value" | bc -l) x=$(printf "%.0f" "$x") # ターミナル境界チェック if (( x < 0 )); then x=0; fi if (( x >= cols )); then x=$((cols - 1)); fi # カラーグラデーション:シアン(12)からオレンジ(208)へ color_start=12 color_end=208 color_range=$((color_end - color_start)) color=$((color_start + (color_range * t / lines) % color_range)) # 256 カラーサポートで文字を表示(カーソル移動) echo -ne "\033[38;5;${color}m"$(tput cup $t $x)"$char\033[0m" # 行送り echo "" done
動作の結果
- テキスト**「ピース・フォー・オール」**が、ターミナル内で左右に揺れるように動きながら下へ移動します。
- 色はシアンからオレンジへと滑らかに移行し続けます。
- プログラムが終了するとカーソルが復帰し、正常に動作することが確認できます。
3. デティール:フォントの正体
コードブロックに表示されているフォントについて、Hacker News のユーザー
ralphinus より指摘があり、訂正がありました。
- 正解:Roboto Mono
- 当初の見落とし:Consolas と混同していました(特に小文字 "g" の形状が異なります)。
- Windows 環境を想定:Akamai はおそらく Windows ユーザーを想定しており、斜線が浅い「0」やセリフのない「1」、丸みのある曲線などを採用しています。
- デザイナーとの関わり:Lucas de Groot(デザイナー)は過去に書類偽造事件での法的対応の末に交流があり、親切に対応してくれました。
注釈: 当初の見落としを訂正する際に、コミュニティから有益な指摘を頂きました。
4. 背景:Akamai の想いと歴史
T シャツのリリース時にはプレスリリースが出されており、デザインの意図には以下のような意味が含まれています。
- ベージュボックス:前面の黄色は、1970〜80 年代のコンピュータが置かれていた「ベージュボックス」を彷彿とさせるもの。
- ハートの意味:インターネットが世界中で善意のために利用されてきたことを象徴。
- 背面のコード:オープンソースの Linux へのオマージュ。Linux はインターネットの共通言語として、世界中の開発者が協力し合うための基盤となっています。
Akamai は、この T シャツを通じて「より安全でつながりのある世界」というビジョンを共有しています。
5. コミュニティでの反応
- 発見者は自分一人ではなく、Wen Chuan Lee 氏の投稿などでも紹介されています。
- Hacker News などのコミュニティでは、コードの詳細な分析やデザイナーへの追及などの議論が活発に行われています。