- Published on
优衣库T恤暗藏混淆Bash脚本,竟是Akamai彩蛋
- Authors
- Name
- speerer
- tris.sherliker.net

一场意外的技术发现
一位名叫Tris Sherliker的技术爱好者在博客中分享了一段有趣的经历。他的妻子在优衣库看到一件T恤,并告诉他背后的设计“绝对是你会感兴趣的”。结果,那件T恤的背面印满了密密麻麻的字母和符号,仔细一看,竟然以 #!/bin/bash(即 shebang)开头。这显然是一个用 Base64 编码的混淆脚本,被设计成在终端中执行后打印一个复活节彩蛋消息。
- 这件T恤是Akamai公司为支持其“Peace for All”公益活动而设计的,正面有一个花括号中的心形图案。
- 作者感叹,这种编码方式“基本上就是黑客用来传播病毒的手法”,并立刻买下了这件T恤。
从OCR到完整脚本的艰辛之路
将T恤上的代码准确转录到电脑中并非易事,因为Base64编码没有任何纠错能力,必须一字不差。作者使用了三种方法同时进行识别并相互比对:
- 第一种是Android上的“圈选搜索”功能自带的OCR。
- 第二种是开源的Tesseract OCR引擎。
- 第三种是Claude AI模型。
通过对比三者的输出差异,并让Claude生成差异位置表逐一校对,作者最终得到了完整的Base64字符串。经过解码,一段整洁、带有友好注释的Bash脚本呈现在眼前。
脚本功能:一个正弦波动画彩蛋
解码后的脚本是一个充满惊喜的“彩蛋”程序。它的核心逻辑非常简单,但视觉效果却很酷:
- 定义动画文本:脚本将一个字符串
♥PEACE♥FOR♥ALL♥重复拼接,作为循环显示的文本。 - 获取终端信息:自动获取当前终端窗口的宽度(列数)和高度(行数)。
- 隐藏光标并设置陷阱:隐藏终端光标,并捕获
Ctrl+C信号,确保退出时恢复光标显示。 - 无限循环与正弦波运动:进入无限循环。每次循环中,它会根据时间变量
t计算正弦值,从而动态计算出字符在屏幕上的横坐标x。这使得字符在屏幕上从左到右往复摆动,形成正弦波轨迹。 - 动态颜色渐变:字符的颜色会在青色(12)和橙色(208)之间平滑过渡。每打印一行,颜色值会根据循环次数和终端行数进行取模计算,产生渐变效果。
- 逐字符打印:每次循环从文本字符串中取出一个字符,使用256色终端转义序列将其着色后,打印在计算出的
x坐标位置,并在打印后换行,使下一行的字符位置下移。
最终,这个脚本会在终端中循环滚动显示一行色彩流动、按正弦波轨迹运动的“PEACE FOR ALL”字样。
字体与设计的巧合
文章还提到了一个有趣的细节:T恤上使用的字体。作者最初认为是微软Windows系统自带的Consolas字体,但随后被Hacker News上的用户纠正,指出实际上是谷歌的开源字体Roboto Mono。作者坦言“优衣库可能用的是Windows系统”,并分享了曾与字体设计师Lucas de Groot就法律案件通信的经历。
Akamai的官方解读与社区反响
Akamai公司曾为这件T恤发布过官方新闻稿,解释了设计背后的理念:
- 轻褐色代表早期互联网电脑的“米色盒子”外壳。
- 正面的心形象征着互联网为世界带来的善意。
- 背面的代码代表Linux,即“互联网的开源语言”,象征着连接世界。
作者表示,他并不是第一个发现并解码这个彩蛋的人。相关讨论在Hacker News上也引发了热烈反响,包括设计师和其他观察者的评论。
脚本的完整代码示例
为了让读者更直观地理解,作者在文章中直接贴出了解码后完整的Bash脚本代码,并附上了终端运行效果的截图。这段代码充分展示了Shell脚本在创意编程上的可能性,将命令行与艺术结合在一起。
原标题:Decoding the obfuscated bash script on a Uniqlo t-shirt。 HN 原始发布时间:2026年7月8日星期三。当前记录为 1312 分、209 条评论。