震惊!图森未来竟然在圣诞礼物中放这个!

虽然没能入职,依然向我要了地址发了圣诞礼物,感谢图森未来

礼物到了我迫不及待的拆开,照了两张照片,没错,就是下面这两张照片

图片说明

图片说明

本来我觉得礼物很不错,毕竟都是吃的,很合我的胃口,连勺都配好了,正准备吃里面的圣诞礼物...

万万没想到的是礼物中居然还有一份儿代码,怕看错了又仔细看了下,嗯...emmm,没错,有高亮有缩进,确定是代码无疑了

图片说明

作为程序员的我异常敏感,需求和考验来了!我放下了手中的勺子,走到了电脑前。

看来目标就是需要进入卡片下方的破译网站,这个网站是个编译器,能把上面圣诞树代码解析出来,网站提示这个代码是用Brain***这门语言写的,这语言名字,,,真给劲,,,把这些字符串都敲进去,应该不会很困难吧,于是老眼昏花的我就开始敲,代码如下:

+>+++++
                   +++[<++++>-]>
                  ++++++++[<++++++
                ++>-]>++++++++++[<+++
                  +++++++>-]<<+++++
                +++++++++++++++.>++++
             +++++++++++++.<-.>-----------
             -.++++.+++.----.-------.<<.>
              >++++++++++++++++++.------
        --------.++++++++++.-----------.<<.>>++
            +++++++++++++++.----------.+++
    +++.<<.>>--------------------.<<.>-----.>++++.++
   +++++++++++..+++++++.<<.>----------.>-------------
----.++++++++++.---------.++++++++++.+.-------.----------
               -.++++++++++++++++++.<<+.

我觉得我代码风格还是挺不错的,缩进的很到位,只不过高亮实在是做不到。

马上就要运行代码了,有点学生时代两个人传暗号小纸条的感受,还有点小期待呢。满怀期待的我把代码放到了编译器上运行,结果如下:

图片说明

emmm,这结果不太对吧,看这句话的意思应该是:图森祝你圣诞快乐,机智的我打开了谷歌翻译,果然这句话的英文应该是TuSimple wish you a Merry Christmas!

完了,果然老眼昏花敲错了,敲得时候我就说可别敲错了,这都没法debug。

先去看看语法吧,维基百科讲的还是很清楚的,看完之后我觉得这门语言设计的真不错,果然是wtf。

仔细看了下错误,发现和准确的英文相比其实ASCII码就差了1,比如Dhristmbt应该是Christmas,其中错的三个字符都是差了1,空格和!也是差了1,估计是少打了个符号?

万幸,找到了一个在线Brain***调试器,能单步调试的代码都不是事儿

经过调试我发现,[]代表循环结构,其中前面的循环结构都是在给3个连续内存地址赋值初始化,这3个地址按顺序分别用于

  • 存储标点符号的ASCII码
  • 存储大写字母的ASCII码
  • 存储小写字母的ASCII码

如下图所示,#代表断点

图片说明

<和>负责向前和向后移动指针,+和-负责给当前值加1和减1,.负责打印,也就是从初始化之后(上图的#位置),根据.字符进行分割,不断移动指针和修改ASCII码,一个字母一个字母的打印出了TuSimple!wish!you!a!Nerry!Dhristmbt"。

根据上述结论,我发现,,,我根本就没打错,,,代码本来就有三处bug,看来果然是图森的考验,哈哈

修正后的代码如下:

>+++++ //多了一个加号
                   +++[<++++>-]>
                  ++++++++[<++++++
                ++>-]>++++++++++[<+++
                  +++++++>-]<<+++++
                +++++++++++++++.>++++
             +++++++++++++.<-.>-----------
             -.++++.+++.----.-------.<<.>
              >++++++++++++++++++.------
        --------.++++++++++.-----------.<<.>>++
            +++++++++++++++.----------.+++
    +++.<<.>>--------------------.<<.>------.>++++.++ //少了一个减号
   +++++++++++..+++++++.<<.>----------.>-------------
----.++++++++++.---------.++++++++++.+.-------.----------
               --.++++++++++++++++++.<<+. //少了一个减号

没有高亮凑合看吧,结果图如下:

图片说明

总算结束了,可以继续吃了,祝图森未来一路顺风,祝大家圣诞节快乐,全剧终。

#秋招##图森未来#
全部评论
真是个机智boy
点赞 回复 分享
发布于 2018-12-21 20:12
加薪。。。
点赞 回复 分享
发布于 2018-12-21 20:13
宣传贴?。。。
点赞 回复 分享
发布于 2018-12-21 20:18
别人家的公司
点赞 回复 分享
发布于 2018-12-21 21:27
好学的小活子,图森没看错你。
点赞 回复 分享
发布于 2018-12-21 21:30
为啥不去图森?
点赞 回复 分享
发布于 2018-12-21 22:51
这个好玩
点赞 回复 分享
发布于 2018-12-22 02:04
吃个东西好麻烦啊
点赞 回复 分享
发布于 2018-12-22 09:26
鸡汁boy
点赞 回复 分享
发布于 2018-12-22 09:34
你司会玩 看第一张图就觉得是BF)
点赞 回复 分享
发布于 2018-12-22 14:19
是啥吃的啊
点赞 回复 分享
发布于 2018-12-22 16:12
作为出题人,一定要给lz小朋友的点个赞! 其实是最近在和图森的小伙伴们一起玩ctf(Capture the flag,夺旗赛),所以突发奇想做了这个贺卡~ 看到大家能喜欢很开心!
点赞 回复 分享
发布于 2018-12-24 11:25

相关推荐

在评审的大师兄很完美:像这种一般就是部门不匹配 转移至其他部门然后挂掉 我就是这样被挂了
点赞 评论 收藏
分享
10-09 22:05
666 C++
找到工作就狠狠玩CSGO:报联合国演讲,报电子烟设计与制造
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务