📋 基本信息
🔍 具体流程
第一阶段
登录网页
在游戏早期,玩家可以在游戏中看到这个下载链接

enuitgames.de/alpha-test
在现实中的浏览器中输入,我们可以看到一个和游戏内风格相当类似的网页。这个网站本身能探索的内容不多,主要就是放了个假的下载链接、一些背景故事线索,还有 John Mullard 那个无效的邮箱地址。
但在游戏内部,你其实能找到 John 的另一个稍有不同的邮箱地址:
johnmullard@yahoo.com。
这个是真的能用的邮箱,发邮件过去会收到自动回复。
Subject: Auto Response: (subject from sent e-mail) From: John Mullard <johnmullard@yahoo.com> -- out of office for the foreseeable future due to personal bereavement for urgent matters, please reach out to tobias john mullard co-founder and technical lead <o> enuit games enuitgames.de
翻译过来就是
主题: 自动回复:(你邮件的主题) 发件人: John Mullard johnmullard@yahoo.com -- 因个人变故,在可预见的未来将不在办公室 如有紧急事宜,请联系 Tobias John Mullard 联合创始人兼技术主管 Enuit Games enuitgames.de

最后一行留有一个链接,点击链接之后是一个新的网页的登录页
https://dev.enuitgames.de/login
这也就意味着我们需要得到用户名和登录密码
登录密码
游戏里有个启动菜单界面,能解锁几个额外的选项。要进这个菜单,得先来到 Ment Sierra 红色 Logo 在屏幕右上角的那个开机启动画面,然后按 F2 或 Delete 键(注:可能还有别的按键组合),就能打开启动菜单了。
菜单里有四个选项:login(登录)、boot options(启动选项)、help(帮助)和 quit(退出)。选中 login 并按“l”键,系统就会提示你输入用户“john_m”的密码。
想拿到密码的话,可以在提示符下输入“r”作为“reminder(提示)”,这时会弹出一个解谜小游戏。你需要按回车键,选中当前标记的那个字符(被选中时会变红),找出字符串里正确的那个字符。解谜完成后,正确的密码就会以红色字符从上到下显示出来,记下来就行。相关的视频点击这里
同时,这个账户也能够用来在启动菜单中解锁一些新的东西和内容
这样一来,登录仪表盘的账户信息就齐了:
账号:john_m 密码:H&5hNt4Ed
登录以后是一个文件系统,相关的文件可以点击这里获取,其中相当多的文件都只是游戏背景的补充和延伸。对下一步真正有作用的是“archive”➡️“old”➡️“john”文件夹中的lens.exe。直接双击他是没有用的,而且软件也会提示你需要放在特定的操作系统中。所以我们将它放在游戏的根目录下的特定文件夹中:“\Steam\steamapps\common\No Players Online\NoPlayersOnline_Data\StreamingAssets”,那么这个软件也就会出现在游戏中john的账户里。
下次登录时,玩家应该就能在《Look at the Time》和《Dungeon Blade》这两个游戏文件夹里看到“sigil_stabilize”文件了。把这两个文件挪到别的地方,游戏就会变得不稳定。运行游戏时,首先会弹出一个文件缺失的警告,不过玩家还是可以继续。游戏加载后,画面会显示成故障乱码的样子。这时候,如果用 Lens(镜头工具)看过去,就能显出一张隐藏的图片,上面包含了一段经过 ROT-21 加密的密文。
时间赛跑 XNLNQ -> SIGIL ZSIJWXHTWJ -> UNDERSCORE RFNSK -> MAINF 地下城之剑 WRFJ -> RMAE ZSIJWXHTWJ -> UNDERSCORE FHHJXX -> ACCESS MYRQ -> HTML
整合以后就是
SIGIL UNDERSCORE MAINF RMAE UNDERSCORE ACCESS HTML
Rmae”和“mainf”其实是一个词拆开的两半,合起来就是“mainframe”。“Underscore”咱们换成下划线“_”,而HTML则暗示这是个链接的一部分,单词本身不用管。把这些拼起来,就得到了:sigil_mainframe_access。把这个粘贴到 dev.enuitgames.de 后面,就得到了一个新链接:
https://dev.enuitgames.de/sigil_mainframe_access
sigil_mainframe_access

这是一个新网站,文件系统跟游戏结尾的制作人员名单很像。这里文件不多。“1968-04-02.gif”就是一张图片。
“enginedata.sh”和“sigil_infused.sh”是空文件。但“recovery.sh”可不简单,它是一个解密器(Python写的,使用前需要在cmd或powershell里预先安装“pillow”库:pip install pillow),专门用来解密“bin”文件夹里的文件。这个解密器能把.tmp文件转成图片,不过解密需要一个密钥。“resources”文件夹里有两个文件(data_dump.sh和sigil_structure),其实是图片(需要转成gif格式),还有一个缓存文件。这个缓存是个压缩包,里面还藏着另一张照片——“pic3_encrypted”。图片本身还分别带有“loc”标签:data_dump 对应地点 1,sigil_structure 对应地点 2,pic3_encrypted 对应地点 3
而且游戏文件的.gif格式也在暗示这里使用了一种隐写术工具GIFT(非常隐晦,是通过直接联系作者得到的提示)用这个工具配合密码 "H&5hNt4Ed" 处理这些图片,就能把里面的数据挖出来。
从 data_dump.sh 里恢复出来的文本是:
coord d2
这个提示是说,后面要用到的地理位置坐标得保留两位小数。
从 sigil_structure.data 里恢复出来的文本是:
1xy+2xy+3xy
这个提示的意思是,要把 "resources" 文件夹里那三张 GIF 图片对应的真实地点坐标加起来。
这些图片对应的具体位置分别是:
data_dump:克洛斯特·本塔尔格(Kloster Bentlage)
sigil_structure:赫尔茨贝格·凯瑟尔豪斯博物馆(Museum Kesselhaus Herzberge)
pic3_encrypted:伊比拉布埃拉公园的 Oca 展馆(Oca, Parque Ibirapuera)
我们后面会用到
最后,从 pic3_encrypted.gif 里恢复出来的文本是:
sigil_stabilize_BLANK_SUMxz.class

这个文件名里,BLANK 和SUM其实是某个特定单词的占位符。也就意味着我们需要得到两个单词。
运行 recovery.sh 之后会得到一张图片,那个单词就藏在那张图片里。不过,运行 recovery.sh 是需要密码的,而那个密码正是 BLANK(小写也是可以的)。
输入命令“python recovery.sh BLANK”,就能把“recovered.png”这张图弄出来。图片里拍的是一片长着树、可能还有池塘的区域,前面还有一只手,手指比划出了某种符号的形状。而这个符号就是一个a,代表着alpha。
这个时候再将目光转到之前的三个位置,结合先前的提示,计算过程如下:
// loc1: 德国莱讷河畔的克洛斯特·本塔尔格文化中心 loc1X = +52.30; loc1Y = +07.42 // loc2: 德国柏林的赫尔茨贝格·凯瑟尔豪斯博物馆 loc2X = +52.52; loc2Y = +13.51 // loc3: 巴西圣保罗的奥卡展览空间 loc3X = -23.58; loc3Y = -46.65 // SUM: 52.30 + 07.42 + 52.52 + 13.51 - 23.58 - 46.65 = 55.52 locSum = loc1X + loc1Y + loc2X + loc2Y + loc3Y + loc3Y 由此,我们可以得出该参数的值为“55.52”。
因此,正确的类名称是:
sigil_stabilize_alpha_55.52xz
输入这个字符串,就可以从主机的类搜索功能中下载“sigil_stabilize_alpha_55.52xz.class”文件。
用记事本打开文件,我们可以得到这个字符串
am9obmNoYXRfZG9uZS50eHQ= base64 johnchat_done.txt
解出来的内容现在还没有什么作用,但是这个文件本身这个在之后会排上大用场。
和 john 聊天
Enuitgames 的控制台里有个连接聊天室的页面:https://dev.enuitgames.de/john_mH&5hNt4Ed/chat/public/_index。这个是IRC系统,IRC(互联网中继聊天)是一种基于文本的即时通讯系统。标准的 IRC 端口是 6667,不过因为开发者手滑打错了字,咱们得用一个乱码端口号:6777。用这个端口就能连上服务器,地址就是上面那个链接,服务器名称是:enuitgames.de:6777
进入服务器之后,我们就可以和john_m进行对话,当然,对话都是完完全全写死的,玩家并没有选择的权利。前半段的对话内容如下:(user)为我们进入服务器的时候输入的名字
<user>: hello john_m: ?? john_m: who are you? john_m: why does this always happen john_m: can you stop connecting to this server? john_m: and tell your friends to do the same <user>: oh im sorry john_m: it's fine john_m: wait actually, how did you find this channel? <user>: i was looking through the enuitgames dashboard <user>: idk it was really easy <user>: your server isn't very secure john_m: wait back up a sec john_m: you're on the enuitgames dashboard?? john_m: i lost the password to that ages ago john_m: what was the password again? <user>: i'm not gonna tell you john_m: ???? john_m: stop being so difficult john_m: oh wait!! john_m: can you get me a file from the dashboard john_m: or well, not the dashboard john_m: it's on the mainframe john_m: nvm i don't think you have access to it john_m: i'm this close to finishing the work on this thing <user>: what thing? john_m: it's not important. <user>: is it a game? john_m: yeah john_m: well john_m: kind of? <user>: can i play?? :) john_m: tell you what john_m: if you can find me the mainframe john_m: and DONT TOUCH ANYTHING john_m: and find the file im looking for john_m: then i'll let you play... <user>: sure <user>: what's the file? john_m: it's a kind of stabilizer file john_m: but it's an extra secure one john_m: i need it for a big transfer <user>: what? john_m: yeah anyways john_m: just when you have it let me know john_m: you'll know it when you see it
翻译过来就是
用户:你好 john_m:?? john_m:你是谁? john_m:为什么这种事老是发生 john_m:你能别再连这个服务器了吗? john_m:也让你朋友们别连了 用户:啊抱歉抱歉 john_m:算了 john_m:等等,你是怎么找到这个频道的? 用户:我在看 enuitgames 的仪表盘啊 用户:不知道,挺简单的 用户:你们服务器不太安全啊 john_m:等等,你刚才说啥 john_m:你在 enuitgames 的仪表盘上?? john_m:我好久之前就把密码忘了 john_m:那个密码到底是什么来着? 用户:我不告诉你 john_m:???? john_m:别这么难搞行不行 john_m:哦等等!! john_m:你能帮我从仪表盘上拿个文件吗 john_m:呃,或者也不是仪表盘 john_m:是在主机(mainframe)上 john_m:算了,我觉得你也没权限访问 john_m:我马上就要把这个东西搞定了 用户:什么东西? john_m:这不重要。 用户:是游戏吗? john_m:算是吧 john_m:呃 john_m:算是?? 用户:我能玩吗?? :) john_m:这样 john_m:如果你能找到主机 john_m:而且别乱碰东西 john_m:然后帮我找到我要的那个文件 john_m:那我就让你玩... 用户:好啊 用户:什么文件? john_m:是个叫 stabilizer 的文件 john_m:但这个文件加密等级很高 john_m:我需要它来做一个大的传输 用户:啥? john_m:哎呀反正就是这样 john_m:等你拿到了就告诉我一声 john_m:你看到就知道是哪个了
到这一步,玩家就无法发送任何的消息,只能发送之前得到的sigil_stabilize_alpha_55.52xz。之后就可以得到下一段对话
用户:enuitgames.de:6777/filetransfer/sigil_stabilize_alpha_55.52xz.class john_m:没错!! john_m:太棒了! 用户:不客气 john_m:你不知道我找这个文件找了多久 john_m:你是在哪儿找到的? 用户:在主机里,不瞒你说,找这个还挺费劲的 john_m:干得好 用户:那我现在能玩了吗? john_m:我得花点时间把它弄好 john_m:等搞定了我通知你 john_m 已离线。
这也就在提示玩家需要等待下一步线索的放出,而且经过和官方的沟通,官方也证实第一阶段的流程正式结束。