nazo之旅

第一次听说nazo是在高考后的暑假.彼时因发挥失常而和同学整天吹水聊天,偶然从别人口中得知了这个解谜网站--遗憾的是当时做到一半觉得无聊就搁置了.最近恰逢考完难得的闲暇,干脆就捡起来通一次.

Level 1-3

第一关就让输入答案,然而页面上找不到问题,因此一个自然的思路就是修改URL中的文件路径.将nazo-1中的数字依次修改为2,3,4即可过关.

Level 4

Level 4中继续尝试上述方法会得到失败的结果,因此打开浏览器控制台准备检查元素,然后发现答案直接就写在控制台里

avrasm
1
answer: level-five
过关.

Level 5

JavaScript中NaN表示不是任何一个数字的元素,自然不能比较相等与否.输入返回值false,过关.

Level 6

Level 6是4行分行数字,提示为4个字母.我首先考虑到的就是9键键盘,但是尝试输入后没能得到什么有价值的字符--然后发现其实就是单纯的把数字对应到9键键盘上得到的图案.先填入H1I1,不对;后面想到9键下的图案I也许是Z,尝试H1Z1,过关.

Level 7

显然这一串字母都有Y轴方向的对称轴.填入OTU,过关.

Level 8

给出了一个颜文字询问"他是谁",搜索得到对应文字为"超人来了".填入superman,过关.

Level 9

背景色变成了蓝色.直接检查元素得到背景色色号为#66CCFF,输入66CCFF,过关.

Level 10

倒过来发现要求我们去检查知乎页面的Console Log: 看起来长这样 Hire,按照倒序填入,过关.

Level 11

给出了一个字符串和一句话"越过长城,走向世界"--得,肯定是要翻墙的.Google了下这个字符串,并没有发现什么有意义的结果(前面大多数页面都是nazo攻略...)

没办法,总不能点进攻略看吧,提示里说"全世界最大的xx网站",所以目光锁定了GitHub,YouTube和Porn...(大雾)

GitHub的URL没啥与这个串的相同点,但是YouTube就不同了,观察以下能发现这应该是一个视频的ID:

将"v="后面的字段替换为TKw4YRR17dg访问后看到了一个标题为"Nazo-Game: Fantastic"的视频,那么答案应该就是Fantastic了.输入,过关.

(这个视频还是非公开的视频,作者为了避免被轻易检索到还是有点小心思的)

Level 12

(40.689241, -74.044515)这个键值对一看就很像经纬度.打开Google Map输入,定位到了自由女神像... 输入statue_of_liberty,过关.

Level 13

一段文字缩写,原内容应该是2 Levels Back BGM--两关之前,正好就是Level 11的那个视频.评论区告知BGM名称为longhorn,输入,过关.

Level 14

Jump Dollar,也就是Jump $,提示是四个字母且汇编相关(其实不提示也很容易想到是汇编).汇编中$表示PC指向的地址,跳转到当前地址,明显意指循环(loop).输入loop,过关.

Level 15

空白,提示也是void.尝试输入empty,null等字串均不通过,无奈继续打开控制台检查元素.检索字段answer,在54f001c6bf2b13aa6cf4.js这个脚本中发现了这么一段:

JavaScript
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
27
28
29
mounted: function() {
var t = this,
e = document.querySelector(".content-slot").getBoundingClientRect().height;
if (this.footerHeight = e + 120, 18 === this.levelNum)
document.addEventListener("keydown", function(t) {
90 == t.keyCode && t.ctrlKey && (window.location.href = "./brainfuck")
});
else if (15 === this.levelNum)
setTimeout(function() {
document.title = "answer: awesome"
}, 3e3);
else if (4 === this.levelNum)
console.log("answer: level-five");
else if (22 === this.levelNum)
window.addEventListener("resize", function(t) {
t.target.innerWidth < 320 ? document.querySelector(".question-text").innerHTML = "TOBORRM" : document.querySelector(".question-text").innerHTML = "width: 320px;"
});
else if (25 === this.levelNum) {
var n = document.querySelector(".question-text").innerHTML;
window.innerWidth < 950 ? document.querySelector(".question-text").innerHTML = "答题框被你无情的挤爆了。请在更大的屏幕上观看。" : document.querySelector(".question-text").innerHTML = n,
window.addEventListener("resize", function(t) {
t.target.innerWidth < 950 ? document.querySelector(".question-text").innerHTML = "答题框被你无情的挤爆了。请在更大的屏幕上观看。" : document.querySelector(".question-text").innerHTML = n
})
} else
48 === this.levelNum && (this.textArray[0] = Date.parse(new Date), window.setInterval(function() {
t.textArray[0] = Date.parse(new Date),
t.$forceUpdate()
}, 1e3), this.textArray[1] = "空格用_代替")
},
现在就是第15关,那么答案自然就是awesome了(这里顺便还得到了另外一些关卡的答案...)

Level 16

看过<生活大爆炸>的对这个问题应该能手到擒来,不过虽然我没看过,但是我在知乎上看到过一篇文章介绍为什么73是best number,输入number73,过关~

顺便附上知乎上的这篇回答 额,这个问题似乎被删除了,但是回答还能搜索到...在知乎搜索Sheldon质数+Yifan就可以看到...

Level 17

题目是"回到原点".这个应该是50关里困扰我时间第二长的一个了(最长的是Level 28),原本以为回到原点指的是回到第一关,但是对着第一关的元素和页面脚本看了半个小时也没发现什么东西,尝试输入_start,main,entry point等"入口点"也不对,也不是数学中的取模,环等具有周期性的对象...一直这么卡了一个小时左右,摆弄浏览器的菜单栏时,突然看到"撤销"操作,然后想到撤销(Undo)不是也可以"回去"吗,输入Undo,过关...

Level 18

这一题我其实有点跳坑了.因为我是MacOS用的Safari做题,看到题目又是Undo后,自然想到的是Command+Z的快捷键,结果并没有什么用...无奈又回到Level 15中获得的脚本,发现按下Control+Z而不是Command+Z才能到达Level 19,即./brainfuck(观察上面我们得到的脚本也能看出答案)

Level 19

题目是一串看似无意义的符号,其实是URL里提示到的brainfuck这种编程语言.网上找了个在线编译运行网站,拖进去得到输出结果是she.输入,过关.

Level 20

极客喜欢的玩物且和手表一样大小,看给出的图形应该就是手表.简单检索得知应为MOTO 360,输入moto_360,过关.

Level 21

题目描述说给出的是8x8=64的一部分,图像是2x3的黑白交错的棋盘.不过不知道为啥,我第一反应想到了卷积滑窗,然后心想8x8的卷积滑窗是有什么奇技淫巧吗...后来感觉思路应该是走偏了,于是在打开B站愉快地刷视频(摸鱼)的过程中看到了烂柯杯,进而想到棋盘,进而想到黑白棋盘应该是国际象棋才对.

2x3的棋盘正好是马的行走范围,输入Knight(国际象棋中马的名称),过关.

Level 22

看题目描述可以猜测当页面宽度小于320px时应该就会给出答案.继续回到Level 15中的脚本,发现答案应该是TOBORRM,输入,过关.

Level 23

题目还是一个图像,直接以图搜图找到一个名为FSociety的黑客组织,输入,过关. (这里最初我以为是《V字仇杀队》里的经典面具,但是后来发现其实有所区别...)

Level 24

用过abcjs记录乐谱的同学,或者任何一个有乐理知识的应该都能很快想到这个串对应的是一段音乐.不过我在Ableton Live里试着写了写按abcjs语法得到的乐句,并没有听出什么头绪...eefe这个小二度的进行怎么听都对应不上我脑子中的任何一首乐曲. 卡了一阵子之后想到,如果ef等字母对应的其实不是音名,而是相对于某一个根音的偏移量呢?

改写为556517->556587(大写A,暗示的可能是跨一个八度,所以1+7=8),试着听了下,这不就是生日歌吗... 8个字母,birthday,输入,过关.

Level 25

很长的一段颜文字,直接Google发现是一种名为AAencode的加密方案,解码后得到console.log('encode').输入encode,过关.

Level 26

一串数字+空格,还提示10 years ago,直接考虑是9键输入法,按9键输入后得到feelings,输入,过关.

Level 27

8个二进制数字,每个长度都为8,观察了一下感觉不是常见的编码,所以还是想到了8x8的卷积滑窗(我是对卷积造了什么孽...)

但是没有可供输入的矩阵,那么肯定是跟卷积滑窗没啥关系了,于是又想到类似的点灯游戏,试着把1对应的地方涂黑: 吃豆人

然后发现原来是吃豆人游戏(Pac-man)的图案.输入Pac-man,过关.

Level 28

说实话我是觉得这一题出的并不怎么好,这也是我耗时最长的一道题了.题目是很单纯的一个串: 谁能告诉我DHC是个啥

但是使用不同的搜索引擎/不同的IP属地搜索,得到的结果显然是不同的,DHC本身也有多种意思...

总之,题目要求的预期答案是DHC这一日本化妆品品牌的中文官网里提供的一个电话号码,是4008208820.

Level 29

x+=2,但是没有指明谁是x,尝试31(29+2)不行后果断尝试4008208822(4008208820+2),过关.

Level 30

5B88 671B 5148 950B,一开始以为是4个16进制数字,但是想来想去跟提示中的"背景并非纯白"没啥联系,转而尝试直接解码. 事实上这是Unicode编码,对应的汉字是"守望先锋".输入英文名overwatch,过关.

(overwatch是取字面意思"过度watch",所以才会提示背景不是纯白吗...)

Level 31

"第一只中国企鹅的昵称",检索了一下没找到什么有效信息.后来想到企鹅恐怕是QQ的爱称(QQ的图标就是企鹅嘛...),尝试QQ/OICQ/I-seek-you等均无果,最终发现预期解答其实是马化腾的英文名--PONY...

Level 32

题目给的提示很明显,维吉尼亚密码.直接找到在线解密工具得到答案是ANDRIOD,输入,过关.

Level 33

Fix it,那自然是把ANDRIOD改成正确的拼写Android咯~

Level 34

一个图片,题目告知提示图有干扰.拿到图片后看了看信息,发现是使用PhotoShop创建的,那就拖进PS里操作嘛...

去掉背景,但是马赛克去不掉,继续以图搜图,得到: 那就是ljn.输入,过关.

Level 35

题目要求"Find yourself on the Internet",这个自己肯定是不随做题人身份变化的抽象的"自己".网络上的自己的地址不就是localhost嘛,输入,过关.

Level 36

Markus Alexej Persson's death,不懂,求助Wikipedia知道是个游戏彩蛋,顶着这个昵称进Minecraft如果死了会掉落苹果.输入apple,过关.

Level 37

直接把这一系列词汇翻译后拼接起来,输入supercalifragilisticexpialidocious,过关. 后来检索得知《supercalifragilisticexpialidocious》其实是一首电影插曲

Level 38

经典Misc手段.图片是压缩文件图标,但是输入几个常用的压缩软件名都无法通过,那就直接把图片下载然后解压~

得到answer.txt,但是内容却是同样的'http://nazo.one-story.cn/supercalifragilisticexpialidocious.html',于是想到这应该是递归(recursion),输入,过关.

Level 39

经典的一个漫画人脸,搜索可知叫trollface.输入过关.

Level 40

题目是一个3行的十字形数表,但是并没有观察出什么比较显然的数字规律.不过好在我对35这个数字比较敏感,过了一小会儿想到这应该是元素周期表中VII族元素那一列,那么问号处就是氯元素(Chlorine),输入,过关.

Level 41

Google x Huawei,搜索可知两者合作过Nexus 6P.输入Nexus_6P,过关.

Level 42

题目要求重复「fd 30 lt 60 fd 40 rt 150」五次,应该是某种指令.搜索得知是一种用来画图的语言,名为Logo

在Level 1下画了画没啥发现,直接换到Level 3,画出来长这样:

但是输入四角星的各种名称都不对,后来看到四角星的一个别称是忍者(ninja)镖,再结合画图网站里的海龟图案,想到会不会是忍者神龟? 输入ninja_turtle,过关.

Level 43

一张纯黑图片,猜到肯定其中暗藏玄机.下载到本地一通操作调整对比度和亮度:

发现答案是Dee.html.输入,过关.

Level 44

直接搜图无果,观察发现题目应该是五张小旗子拼起来的,单个搜索发现是国际海事信号旗.对应的字符串是poker,输入过关.

Level 45

看起来应该是某种特殊的字母书写方式,Google了下发现是Leet

题目对应的文字是:

ada
1
2
This is an example of leet at its finest
The answer is : sigma
输入sigma,过关.

Level 46

还是图片,以图搜图得到sanic,输入过关.

按检索结果来看图片里的是动漫人物Sonic,被称为Sanic或许是个梗? 不过我不感兴趣,姑且就没细看.

Level 47

还是图片,继续搜图...

搜图结果告诉我这是Excel 2000的一个彩蛋,按检索结果所述,你只需:

  1. 打开一个Excel文件,在文件选项中点击另存为网页

  2. 在弹出的保存对话框中勾选“添加交互”,点击保存

  3. 双击打开保存的网页,将坐标定位到 (2000,WC) ,选中第 2000 行,并按Tab键,将WC列变为当前的活动列

  4. 同时按住Shift,𝐶𝑡𝑟𝑙Alt键,单击Excel工作簿左上角的Office标志

这样就进入了题目中的赛车游戏.那么坐标值就是(2000,WC),输入2000WC,过关.

Level 48

一串数字,看起来每过1s都会加1000,自然想到这个玩意儿.尝试几次后发现预期答案为时间戳(time_stamp),输入,过关.

Level 49

一张图片,Git的图标,容易想到应该和Level 38是类似的隐写手段.

解压后得到一个Git仓库,存放的answer.txt里显示this is not a real answer.git进这个仓库查询日志,发现一共提交过三次

apache
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
branch

answer.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

commit 09d0e4c0cfc5d75c2f49b51928b241b9b9cda53d (master)
Author: Dieber <451120068@qq.com>
Date: Fri Jul 20 18:46:32 2018 +0800

cover

answer.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

commit b91dbf1a5cd95e4ad2e7842991cb1c8773f78d41
Author: Dieber <451120068@qq.com>
Date: Fri Jul 20 18:45:52 2018 +0800

first commit

answer.txt | 1 +
1 file changed, 1 insertion(+)
逐次回滚,最终在first commit中发现answer.txt中的内容给出了我们要的答案answer:gitisawesome. 输入gitisawesome,过关~

Level 50

/javascript's author,提示说明应该是跟一首歌有关的.在各个平台搜索了一遍JavaScript,结果得到的歌手名都不是正确答案... 后来发现我应该搜索/JavaScript才对...

网易云告诉我答案是W1-2,输入,搞定~

旅程感想

总体上来说难度有但是不高,有些题目跟CTF里的Misc题目思路还是有互通之处的,当做睡前小游戏还是蛮不错的.

(虽然还是耗费了我4个小时的时间...)

完结撒花~


nazo之旅
https://eupho.me/8335bdad.html
作者
Lambert Swizzer
发布于
2023年5月12日
许可协议