33

蔚来新车海报的两个彩蛋,被我用两天时间破解了

 5 years ago
source link: http://www.geekpark.net/news/235857?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

一年时间,一边是蔚来 ES8 第一万台量产下线,另一边曝光了新车 ES6 的一些细节:ES6 将于 12 月 15 日在 2018 NIO Day 蔚来日正式发布。据悉,蔚来 ES6 是一款高性能长续航智能电动 SUV,轴距 2900 毫米,全系标配全铝车身及双电机智能电子四驱,同样跻身「4 秒 SUV 俱乐部」。ES6 已经开启优先预订( 12 月 1 日),预售价 37 万元起。

神奇的是,在蔚来发布的两张海报里,埋藏了两个彩蛋,或者更准确的说应该是解谜游戏。

am2quuv.png!web

当你仔细看或者把屏幕调到最亮的时候,你可以发现暗处有字。

bUvaMjy.png!web

(请把屏幕调到最亮观看)

为了不让自己瞎,我索性把图片拖到 PS 里,或者你可以保存到手机,拉一下曝光:

3E3uY3I.jpg!web

就显出了这么一大段话。

同理,另一张图片把曝光度调高可以发现一些文字和图案。

732U32y.jpg!web

从发现海报里有玄机,到我把它破解一大半出来,整整花掉了两天时间,其复杂程度和需要的知识体系不亚于柯南的推理办案过程。为了破解海报里的秘密,我一直在和程序员打交道,稿子反而一点没碰。为了不被开除,只好把破译过程写下来交稿。

破译成功后会得到「破解成功」的信息和填写个人信息的表格,等待神秘奖品。很多人也在微博讨论,但目前好像没有看到破解成功,所以在这里「独家」分享一下解谜过程,大家可以一起来(hao)期(yang)待(mao)这个「神秘礼物」。

回过头来想,过程还是很有趣的。蔚来为了两张海报就下如此多的心血,虽然海报只是消遣,但细节控、体验至上都是抓住用户的关键。感谢蔚来带来的烧脑娱乐项目,也重新激发了我这样「技术宅」的极客精神。

下面我告诉大家第二张海报的全部破译过程以及第一张海报的不完全破译过程,第一张海报还需要更多人的支持和提供线索。

星战、ascii 码和电信暗号

第二张海报中,三段文字中唯一能看懂的一段,文字如下:

「In my experence there is no such thing as luck.」

「根据我的经验,没有运气这种东西。」

在Google搜索框中输入这段文字,搜索结果是这样的:

7zUfiy7.png!web

没错,全部和 Star Wars 星球大战有关。

于是我跑去问了办公室的星战迷,这段话有没有蕴含着什么深意,星战迷看了眼图片,告诉我一个破解谜题的方向:

这句话不是重点,重点在于左下角的文字,是星战里面的语言。

Google 了一下,这位资深星战迷还能帮忙翻译,通过下图图形文字和数字的对应,我们得到了一串数组:

nYrMbm2.png!web       

197,124,193,227,51,204,238,136,197,159,133,184,246,116,197,227,134,115,231,120,197,228,77,115,231,135,199,239,77,130,174,119,192,173,124,193,234,66,192,224,140,199, 231,120,192,224,122,193,228,135,188,242,128,181,228,138,188,243,123,204,238,136,115

看起来没有什么规律的数组,可能就需要用到最后一段文字了:

IrIvy2m.png!web       

function scramble(ascii,a,b,c) {

for(i=0; i<ascii.length; i++) {

if (i%3==0) {ascii[i]=(ascii[i]+a)%256;}

if (i%3==1) {ascii[i]=(ascii[i]+b)%256;}

if (i%3==2) {ascii[i]=(ascii[i]+c)%256;}

}

return ascii;

}

比数组更没规律的这段文字,看起来更像是一段代码。术业有专攻,代码就一定交给程序员来处理。我又跑到了技术部,请教程序员同事。

经过和程序员的一系列讨论,我大概明白了。下面是程序员破解密码的步骤,不感兴趣的可直接拖到后面。

这段代码可能是 ascii 码,但直接转换会发现不可读。从代码看可能是经过了一系列位移,使用 Python + pandas 尝试发现数字的分布:

2INBRnn.png!web

viU3Avm.png!web

rInEbqM.png!web

观察一下这些数字的分布情况,发现这些值主要在三个取值范围里,对应代码里的 abc 再来用柱状图看一下分布情况。

Efe6ba7.png!web       

有三个区间,但不是很明显。

AvmMJ3A.png!web      

vQZjqei.png!web

iUR3aey.png!web

vymIZjV.png!web

7Fj2emq.png!web     

于是我们得到了一串乱码。

而这串乱码也是有玄机的,从 ascii 码表里查到,可读字符从 32 到 97。乱码翻译过来,我们猜测有可能是个网址或者一句英文(这其实算是一个关键,幸好我们猜对了,也有运气存在)。

如果是网址,那么一定会有 http 或者 www 之类的关键词,于是假设答案字符串里有 http,让 abc 的取值范围如下:

AjEzAnQ.png!web      

于是我们得到了最终答案:

vIfeAnb.png!web

果然是一串网址:

http://dm.ink/maythemagnetismbewithyou

这还没完,手机打开了这个网址之后,才是解谜的最关键。

首先我们进入了 H5 页面,一个大转盘下面是一块可以左右移动的磁铁。当移动磁铁的时候,最外侧的字母有时会被点亮。

另外,转盘上可以转动的一圈底色很亮,其他部分也可以转动,只要点击对应的圈子即可。

yyyq6jY.png!web

这非常像一个电机的原理,因为「ascii 码」的提示,我们搜索了电相关的加密符号,这里面其实涉及到了另一套加密符号——电信暗号。最外侧的字母按照正确的字母起始顺序排列,得到的单词是「electric」——电;转盘里黑色和亮色按照不同的排列方式分别对应着不同的字母和数字。

jemieuI.png!web       

将字母对应扇区的亮、暗顺序按照对应的电信暗号,从圆心向外的方向排列,就可以点亮所有的字母。所有字母点亮之后,页面会提示你「破解成功!」之后就是填写个人信息等待奖品发送了。

破解了一半的

另一张图片实际上也可以采用类似的策略破解,把图片曝光度调高,发现有一句中文:「混沌世界的秩序,是解开秘密的关键」。下面则是一个网址的前半部分,后面是一堆 1 和 0。

YjUvEba.png!web

我尝试着用二进制转化成十进制,得到了 14 个数字:

31,41,59,26,53,58,97,93,23,84,62,64,33,83

再看上面的方格符号,也有 14 个数字,抄下来是这样的:

40,24,74,83,64,124,50,36,104,79,118,29,71,107

两组数字之间有什么联系?为了找出相关性,我们将数字从小到大排序,发现:

23,26,31,33,41,53,58,59,62,64,83,84,93,97

24,29,36,40,50,64,71,74,79,83,104,107,118,124

有没有发现规律? 下面一组数字减去上面一组数字,正好是等差数列 1,3,5,7……证明了两组数字之间是对应关系。也就是说,每一个二进制数字都对应着一个方格符号。

把方格符号对应到开头的网址上,得到了这样一个结果:

v2IVrqb.png!web       

而这个排序又有点眼熟,它正好和我们在第一张图片中用过的电信暗号对应上了。具体破解办法可以参考上文的表格,查询表格后,最终拿到一个网址: http://dm.ink/elementsoflife。

YfaUvuF.png!web      (上图红笔圈出的地方即蓝绿色光点)

网址又是一个 H5,但我暂时还没破译出其中的秘密。看起来这个 H5 要难很多,因为这是一个视频。仔细观察视频,在不断飘过的字母当中,时不时会有一些蓝绿色的光点飘出来,底下的数字也可以点亮,但是我暂时还没搞懂其中的秘密。有兴趣的朋友可以大胆尝试,希望能够留言分享你的线索和破译过程。

责任编辑:王训魁


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK