JetBrains Quest挑战报告 Quest 2

发布于 2020-03-11  2.03k 次阅读


做完第二题确实要花一小时左右,其中好长一部分都在盯着屏幕发呆。有些东西一开始还真没想到。

但是就结果而言,谜题也不算是没有相关知识就完全解不开的那种。这次有些关卡我就是硬破的……

那么就进入正题吧。

1.Reverse Words

第二题是从这一串莫名其妙的段落开始的:

.spleh A+lrtC/dmC .thgis fo tuo si ti semitemos ,etihw si txet nehw sa drah kooL .tseretni wohs dluohs uoy ecalp a si ,dessecorp si xat hctuD erehw esac ehT .sedih tseuq fo txen eht erehw si ,deificeps era segaugnal cificeps-niamod tcudorp ehT

初看不明所以,但看到最后,那个ehT不就是把The倒过来写的么。再仔细一看,这些单词都是倒着写的。

依旧是使用Python脚本来把单词全部正过来。

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
# reverse.py

a = '.spleh A+lrtC/dmC .thgis fo tuo si ti semitemos ,etihw si txet nehw sa drah kooL .tseretni wohs dluohs uoy ecalp a si ,dessecorp si xat hctuD erehw esac ehT .sedih tseuq fo txen eht erehw si ,deificeps era segaugnal cificeps-niamod tcudorp ehT '
print (a[::-1])

跑完脚本后就得到了正常的几句话:

The product domain-specific languages are specified, is where the next of quest hides. The case where Dutch tax is processed, is a place you should show interest. Look hard as when text is white, sometimes it is out of sight. Cmd/Ctrl+A helps.

反反复复看了几遍,不禁怀疑我自己的理解能力。

第一句理解起来没问题,意思大概是“下一个关卡藏在指定了领域特定语言的产品(的介绍页面)中”。当然括号里面的内容是我的猜测。关于这个DSL,也就是领域特定语言,我也只是曾经听说过,一眼也看不出哪个产品是搞DSL的。

不过还好,喷气脑袋还是提供了产品筛选的功能的。在filter里面勾上DSL,结果筛选出两个产品:Kotlin以及MPS。Kotlin这个语言我听说过,但它是开源的,所以似乎可以先从MPS着手。

2.MPS

目标产品找到了(大概),那就来找找下一关卡的线索在哪里吧。

重新再看一下一开始的线索,第二句话依旧云里雾里。里面的什么“Dutch tax”到底是啥呀?字面上看来是什么“荷兰税收”……?但是这么理解真的没问题吗?后面的“is processed”又是什么鬼?

算了,依旧按照惯例,搞不懂的东西就先放一放。无视掉这两个单词,来看看其他部分。姑且可以理解为“XXX案例是一个你应该感兴趣的部分。因为文字是白色的,所以要仔细看。有时它看不到。可以使用Ctrl+A来辅助查看文字”。

Cmd键是Mac的键盘才有的,就不管它。在Windows中Ctrl+A是全选,这个功能确实对寻找白色文字有很大的帮助,毕竟白底白字,肉眼看或许真看不出来。

所以就是找一个案例然后点进去看的意思咯?

整个MPS介绍网页中,与案例有关的一共有三个。那好办。一个个点开找就对了。

点开左数第一个,映入眼帘的……是Dutch Tex and啥啥的一个客户名字。弄了半天那句话里面指的还真的是什么荷兰税收。(@_@;)

吐槽完后按下Ctrl+A键,在右上角确实发现了一段白字。选中那段白字复制下来后是这样一段话:

This is our 20th year as a company,we have shared numbers in our JetBrains Annual report, sharing the section with 18,650 numbers will progress your quest.

“这是我们公司的第20个年头。我们在喷气脑袋年度报告上分享了数据。将有着18650数字的那一段落分享出去的话可以推进你的破关进度。”

简单的说就是看看年度报告咯。今年的年度报告自然不会有,所以应该是2019年的。

3.18650

在Google上以JetBrains Annual report为关键词进行搜索,第一个链接(https://www.jetbrains.com/company/annualreport/2019/)就是19年的年度报告。

点进去按下Ctrl+F搜18650,并没有找到任何东西,但是看到一个比较接近的18000。那一段刚好有一个分享按钮,不妨先点为敬,错了再仔细思考一遍。

点了之后,蹦出来一个编辑分享推文的按钮,里面已经写好的内容正是在找的内容。

I have found the JetBrains Quest! Sometimes you just need to look closely at the Haskell language, Hello,World! in the hackathon lego brainstorms project https://blog.jetbrains.com/blog/2019/11/22/jetbrains-7th-annual-hackathon/ #JetBrainsQuest

回头再看那一段的内容,试着把里面出现的所有数字都加上一遍,不多不少刚好18650。原来如此。意思是加起来18650而不是找一个18650的数字。

看来下一关卡是在https://blog.jetbrains.com/blog/2019/11/22/jetbrains-7th-annual-hackathon/这个网页上咯?

那么走起。

4.LEGO

“有时你只要仔细看看编程马拉松乐高头脑风暴中的Haskell语言,Hello World!”

…提示是这么说的,所以就来找找乐高吧。这一找,还真找到个既有乐高,又有Haskell,还有Hello World的图片。

JetBrains Quest挑战报告 Quest 2

仔细看图片的话,上面写着一段话。是令人怀念的火星文(?)

至少我玩CTF的时候拿到过好多这种火星文flag。

原文懒得再敲一遍了,把它翻译成正规的英文大概是“Did you know JetBrains is always hiring? Check out the careers page and see if there is a job for you or for quest challenge to go further at least.”

不得不吐槽识别上面的文字花了我好长时间,另外哪个“KW357”想了半天才对应出“quest”。总之是个很累人的活儿。

喝口咖啡,去喷气脑袋官网的招聘页面上看看。

5.Fearless Quester

在Company下拉菜单中有个Career选项,按下就是喷气脑袋的招聘页面了(https://www.jetbrains.com/careers/apply/)。

进去之后点击右上角的Jobs,就可以查找职位。

151个职位看着真的眼花,而且这个数字不禁让作为前PM玩家的我吐槽,难道是在玩初代图鉴150+1的梗?

总之如果猜测没错的话,里面某个职位会像上一题中的JK一样是个通往下一关卡的线索。

看到眼花时,终于找到一个叫什么Fearless Quester的东西。看名字不是这个就怪了。总之点进去先。

里面关于职位的要求当然不可能是一些什么正经内容。其中这一段话看标题“To progress with your quest what you’ll need”就是提示。要求一共有三条。

  • To check out what we have for game developers.
  • Be geeky enough to remember how you used to cheat at Konami games.
  • Try cheating on the page.

看上去依旧莫名其妙,姑且一条一条看吧。

第一条:“去看看我们为游戏开发者准备了什么。”

第二条:“可以够极客范儿地记着如何在Konami游戏中输秘籍。”

第三条:“在网页上试着输秘籍。”

6.↑↑↓↓←→←→BA

唉,不由得就想起上个月底Konami社的桥本老爷子去世的新闻。他就是那位发明了Konami游戏的“↑↑↓↓←→←→BA”秘籍的大佬。

结合第一条和第三条来看,也就是再去找个什么网页并且在上面输入这段秘籍就行了的意思。

“为游戏开发者准备的网页”我或许知道。之前在做UE4时由于CLion升级失败,不得不在官网上下载新版本的安装包。那时偶然就发现Solution下拉菜单里面有个Game Development(https://www.jetbrains.com/gamedev/)页面。估计就是那个。

点开网页之后,吸一口气,快速输入秘籍,然后网页弹出来个……打砖块?

JetBrains Quest挑战报告 Quest 2

打完砖块后就可以得到这次的通关flag。解谜大成功~

如果想直接看答案的话,那就选中这句话后面隐藏的白色文字吧,或者按下Ctrl+A也可以。(这次的flag是GamesAreFun,但是不知为何后来flag换成了PlayGames)

7.个人吐槽

这次的谜题和上一题比起来更有趣了。接下来似乎还有一题,很期待会是什么内容。

后来我在写这篇文章时发现,原来那个乐高图片的alt属性里面就有图中墙上的那段文字……不禁郁闷了一会儿。

Quest cleared~同时也困了。所以就跳过吐槽直接睡觉吧。

(好像我在不知不觉中已经吐槽过了)

在和友人S桑交流感想时,S桑说一开始MPS那一关她通过翻喷气脑袋之前发过的推文,最终定位到JetBrains MPS在去年7月发的一条关于“Dutch tax”的推文。推文中也有隐藏着白字的PDF的链接。这个解法有点厉害。