河伯特高

HerbertGao 个人主页

Ingress 13 Archetypes 01: Dreamer

老咸鱼爬起来解密了。

About 13 Archetypes

13 ARCHETYPES CHALLENGE

这是一个长达 13 周的解谜挑战,北京时间 12 月 10 日凌晨 01:00 起, Niantic 会在其论坛上发布一个谜题,然后让玩家解谜,结果会是一个 Passcode ,兑换后可获得 Media 一个。

Dreamer

Dreamer

这是第一周的谜题,主题为 Dreamer ,谜题标题为 Sweet Dreams 。

Decode

两只羊、一床被子、一个时钟。

其中被子的图案非常有规则,很容易联想到条形码,并且应该是「两个」条形码叠加的样子。

我的第一想法就是找个能识别条形码的工具来解析,通过PS或截图工具分别截取横向和纵向的条形码,然后拉伸之后就可以很方便地用工具来识别了。

然而尝试了三款条形码解析工具直接对着图像识别,都没有得出有效结论。于是我开始尝试手动人工解析。

条形码由多个宽度不同的条形和空白组成,以最细的条形(或空白)的宽度记为 1 ,其它条形或空白的宽度是 1 宽度的几倍则记为几。

一开始尝试按顺序交替看两个颜色的宽度数值,试了两次都不太顺利,看一会儿眼睛就花了。后来想到一个办法,每次只看一个颜色,对两个条码共计看 4 次,这样来记录条码宽度数值还算比较顺利。

横向的条码宽度数字从左往右为

1
2112321122144211121224111241121224111212412412111112421341112411121122141421121

其中开头6位为 211232 ,为 Code128 编码条形码的 Start Code C ,那么这应该是一个 Code128C 标准的条形码。

根据维基百科 Code128 词条的介绍,一个 Code128 标准的条形码由6部分组成,分别为:空白区域、起始标记、数据区、校验符、终止符、空白区域。其中上述前6位 211232 即为起始标记之一。而最终的终止符应为 2331112 7位,但上面获得的横向条码的结尾并不是这个,说明我们还需要继续解析纵向条码。

纵向条码应该从下往上还是从上往下来看呢?从原图的方向来看,将原图顺时针旋转 90° 后,可以获得羊脑袋、床头、闹钟朝上的方向的图片,那么这时的从左往右即为原图的从下往上来看。

纵向的条码宽度数字从下往上为

1
212411421121411221341112411121122141241121224111212411211241212412121232331112

结尾 2331112 符合 Code128 标准的终止符。

将两串数字合并,即为

1
2112321122144211121224111241121224111212412412111112421341112411121122141421121212411421121411221341112411121122141241121224111212411211241212412121232331112

按照 Code128 的定义,每 6 位分为一组,转换为对应的 Code128C 数值,再根据此数值转换为对应的 ASCII 字符。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
211232
112214 69 e
421112 87 w
122411 72 h
124112 84 t
122411 72 h
121241 82 r
241211 75 k
111242 80 p
134111 79 o
241112 78 n
112214 69 e
142112 73 i
121241 82 r
142112 73 i
141122 67 c
134111 79 o
241112 78 n
112214 69 e
124112 84 t
122411 72 h
121241 82 r
121124 65 a
121241 82 r
212123 30 >
2331112

去除校验符,则原本的条形码串为

1
6987728472827580797869738273677978698472826582

有兴趣的可以用这个串去生成一个 Code128 格式的条形码与原图做一下对比看看是否一致。

而转换后的字符串则为

1
ewhthrkponeiriconethrar

按照 thr = 3 、 one = 1 来转换,即为

1
ewh3kp1iric13ar

但这个并不符合 Passcode 通常用的格式。

经翻阅词典后得知,oneiric 是个单词, adj. 梦的 。此处的 one 不用替换为 1

这个人连英语四级都没过就别强求他会这种的单词了(摔)

则转换后的 Passcode 应为

1
ewh3kponeiric13ar

redeem
兑换 Passcode ,获取一个 Media 。

Media

欢迎关注我的其它发布渠道