首先看官推给出的这串代码
48 61 76 65 20 79 6f 75 20 73 65 65 6e 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 66 20 74 68 65 20 4a 65 74 42 72 61 69 6e 73 20 77 65 62 73 69 74 65 3f
看上去是十六进制,猜测是ASCII,转码一下试试
得到了
Have you seen the source code of the JetBrains website?
那么根据提示我们来到jetBrains的官网看源代码,就找到了如下注释:
O {o)xxx|===============- O Welcome to the JetBrains Quest. What awaits ahead is a series of challenges. Each one will require a little initiative, a little thinking, and a whole lot of JetBrains to get to the end. Cheating is allowed and in some places encouraged. You have until the 15th of March at 12:00 CET to finish all the quests. Getting to the end of each quest will earn you a reward. Let the quest commence! JetBrains has a lot of products, but there is one that looks like a joke on our Products page, you should start there... (hint: use Chrome Incognito mode) It’s dangerous to go alone take this key: Good luck! == Jrrg#oxfn$ O -===============|xxx(o} O
看到了hint说使用Chrome的无痕模式,那我们无痕模式打开一下Products 页面。顺便,注意他的一句话:带上这个key Good luck! == Jrrg#oxfn$
然后很容易就能找到所谓的”one that looks like a joke”,就是这个JK,进去之后得到了提示
提示说我们应该到一个https://jb.gg/### 网页去,但是最后这三位数是不告诉你的,需要算出来,而最后的三个数就是从500到5000的质数的个数。这当然很简单,我们可以写个简单的程序算一下:
#include<bits/stdc++.h> using namespace std; const int N=5000; int prime[5005],tot=0; int pre(){ prime[1]=1; for(int i=2;i<=N;++i){ if(prime[i]==0) prime[tot++]=i; for(int j=0;j<tot&&prime[j]*i<=N;++j){ prime[prime[j]*i]=1; if(i%prime[j]==0) break; } } int ans=0; for(int i=0;i<tot&&prime[i]<=N;++i) ans+=(500<prime[i]); return ans; } int main(){ cout<<pre(); }
得到结果是574,我们进入https://jb.gg/574 可以得到下一个线索,是一张图片
显然这是jetbrains家的YourTrack的图标,结合下面的码可以知道这是一个issue的track网址,我们直接转到https://youtrack.jetbrains.com/issue/MPS-31816
得到了如下信息
“The key is to think back to the beginning.” – The JetBrains Quest team Qlfh$#Li#|rx#duh#uhdglqj#wklv#|rx#pxvw#kdyh#zrunhg#rxw#krz#wr#ghfu|sw#lw1#Wklv#lv#rxu#lvvxh#wudfnhu#ghvljqhg#iru#djloh#whdpv1#Lw#lv#iuhh#iru#xs#wr#6#xvhuv#lq#Forxg#dqg#iru#43#xvhuv#lq#Vwdqgdorqh/#vr#li#|rx#zdqw#wr#jlyh#lw#d#jr#lq#|rxu#whdp#wkhq#zh#wrwdoo|#uhfrpphqg#lw1#|rx#kdyh#ilqlvkhg#wkh#iluvw#Txhvw/#qrz#lw“v#wlph#wr#uhghhp#|rxu#iluvw#sul}h1#Wkh#frgh#iru#wkh#iluvw#txhvw#lv#‟WkhGulyhWrGhyhors†1#Jr#wr#wkh#Txhvw#Sdjh#dqg#xvh#wkh#frgh#wr#fodlp#|rxu#sul}h1#kwwsv=22zzz1mhweudlqv1frp2surpr2txhvw2
他说的是让我们回忆之前的key,也就是 Good luck! == Jrrg#oxfn$
注意中间这个等号的话,隐含信息是两边信息相同,很容易发现oo和rr是对应的,猜测是一个移位密码,简单口算得偏移量为3,写一个解密的程序计算一下
Nice! If you are reading this you must have worked out how to decrypt it. This is our issue tracker designed for agile teams. It is free for up to 3 users in Cloud and for 10 users in Standalone, so if you want to give it a go in your team then we totally recommend it. you have finished the first Quest, now it's time to redeem your first prize. The code for the first quest is 'TheDriveToDevelop'?
这样我们就得到了最终的code,到https://www.jetbrains.com/promo/quest/ 输入code和你的jb邮箱就可以了,收到一封邮件里有兑换码。
Quest#2
首先看到了一串奇怪的字符
.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
但A+lrtC/dmC这个东西很容易认出来是 Cmd/Ctrl+A 反过来写的,所以我们把整个字符串反转一下:
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.
根据提示我们找到了https://www.jetbrains.com/products.html 里面的 MPS ,点进去找到“Domain-specific languages to implement Dutch tax legislation and process changes of that legislation.” 这一句,点击进入一个pdf。第三句话是让我们Ctrl+A找到空白处字符,我们试一下可以在pdf第一页右上角找到四行空白字符,复制下来之后是
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
根据提示我们找到JetBrains 2019年的年报,找到有18650数字的一个section,也就是这里
然后点击分享按钮,分享到推特就可以看到自动填充的一行字
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
根据提示,我们来到文字中的链接界面,找到了这幅图
图上有一些刻意扭曲了的英文,还原出来应该是
Did you know JetBrians is always hiring? Check out the kareers page and see if there is a job or for kwest challenge to go further at least.
根据提示我们来到 career 页面
然后搜索quest,找到一个叫 Fearless Quest的职位,点进去,看到要继续的话需要
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.
我们根据提示来到jetbrains的游戏开发板块,https://www.jetbrains.com/gamedev/
输入Konami的经典作弊码 ↑↑↓↓←→←→BA ,就可以打开一个小游戏界面,把游戏里的砖块都打掉就可以看到key了,