我是一个无情的转码机器

moyuefeng 菜格瑞斯

写在前面

这里什么都没有。






题目八:Omniscient







在冠状病毒与新年交相辉映的时间点,Omniscient 挑战开始了。由于要照顾处于各个时区的挑战者,这次 13AR 挑战的时间每次都有变动。所以我是睡了一觉起来才开始解这个题的。

为了让大家能够听懂我下面在说什么,这里有必要介绍一下各种进制的转换。但其实由于我本身对这一方法的原理并不十分了解,所以这里着重介绍解码方法。

之前介绍过一种解码方法,是将一串数字转化为十进制的数,然后用 ASCII 解码。但是不同进制的数字本身是可以直接转码为字符的

这里的具体细节应该是先转换为二进制数,再转化为对应字符。但是其中的原因我并不了解,所以无法做更多的阐释。有兴趣的朋友可以自学,或者来给我讲讲。(星星眼)

这里有一个比较简单的做法,就是把得到的数字直接丢进转换器里,看会有什么样的结果。但是这次的情况是,你得理解转化的规律才能顺利解码。所以这个方法不是万能的。

一觉醒来,发现一串大概符合十六进制的数字。

丢进转换器里,发现转不出来。Emmm 倒过来看看

转出来了!但是还是一串看起来像乱码的东西,前面还有一串等号!!

这让人不由得怀疑自己是不是转错了。然后我发现自己的电脑打不开那个网页。Emmm 不要问我为什么打不开网页但是能看到题。我只能回复一句无可奉告。

试了试手机,发现可以打开。那就用手机看吧。看到一条评论,大意是最开始挂在上边的码不完整。完整的密码如下:


 完整的密码多了一个开头。一眼看上去像是没有什么意义。

整个解码的过程在此突然停顿了。因为我确实不知道下一步该干什么了。而且,那一串等号究竟是什么啊??

为了确认第一步的正确性,我去问了问数一。他给我说这一步是对的,但是后面还要转几步。然后等号是 padding(填充符)。

我又看了看那个前缀再看了看论坛。有人说 4^3 是 64,代表 64 进制。

等等,那个 n2esab 倒过来不就是 base2n 吗?

也就是说每次转换都是上一次转换的 2 倍,比如我最开始用的是 base16,下一步就应该用 base32 最后用 base64 这样一步一步转换下来。

转到了 base64 突然就转不动了。之前的步骤都是:

丢进 base16,不行,反转一下,好了。

结果反转一下,丢进 base32,好了。

结果再反转一下,丢进 base64,OK。

再反转一下丢进 base64,emmm 显示错误。

经过确认,没有 base128 这种东西。64 就到头了。但是为什么不对呢?

我又去问数一,数一给我说,你分块不对!

分块?啥是分块啊?

数一酱告诉我这个以后,就不理我了。也没给我解释啥是分块。

我就自己搜了搜,什么是分块。出来的解释是解释什么是分块矩阵的。

分块矩阵????我还是个孩子啊,不要让我看这些东西啊!!!

只能看看论坛有没有大佬的指点了。然后我就看到一位大佬说了一句,你考虑一下第一个 base64 转码里面 j 和 f 是做什么的。

我回到了上一步,发现 j 或 f 每隔三位就会出现一次。难道是做分隔符?

我决定一步一步地输入,看解码器会输出什么结果。

先输前三个字符,显示错误。但是加上一个等号,得到两个正确转换的字符。

输入第四个字符,多出来一个字符。

第五个,显示转换不正确。

Emmm,我好像想起来一件事。哪里好像说过 base64 是四位一组转换的。

但是现在这一串不能每四位一组,还是转不出来,而且四位一组的话没法平均分。之后我发现,这一串貌似是三位一组的。

给每一位后面加 0,补成四位。成了!

但是中间被 4 隔开。去掉以后,还是看不出来有什么规律。

Emmm 不会还有两位一组吧。

果然!

而且两位的貌似不能通过加 0 补位,只能加等号。而且等号貌似有结束转码的意思。所以只能两个两个地来。

最后得到一串码。

我,莫得感情。只得转码。


图?

无情的转码机器需要配图吗?请用心灵感受纯字符串的美妙。




(待续)


往期回顾:

墨月枫的解码马拉松笔记前半程(一)

墨月枫的解码马拉松笔记前半程(二、三、六)

墨月枫的解码马拉松笔记前半程(四)

墨月枫的解码马拉松笔记前半程(五)

你们西班牙人的名字怎么那么长

    菜格瑞斯,由旅居欧洲的中文 Ingress 玩家组建,是一个跨阵营的交友社群。
    本站由玩家自行建设,与 Niantic 和 Google 没有关联。

    Chinese Speaking Agents in Europe (CSAE) formed this friendly and cross-faction Ingress community.
    This site is maintained by players and does not affiliate with Niantic or Google.
    Visitor count: