互联网冲浪趣事小记

• July 6, 2021 • Read: 485 • 手札

GHS 涩图是人类第一生产力。

前几天碰见的有点意思的事,解密的含金量其实不算什么,但却让很多人折损于半道。今天抽空说一说~

7月2日瞅见了一个QQ群传信息:

信息

这也许就是最后的波纹了,这里包含了个人大约价值370多元的图库,想要获得这份秘宝的人,需要解开这古智慧的密文《01010011010001110100100101001110011000010101011101010110011110010110001001110111==》提示有三个:
1,最终答案是7位字母,有大小写
2,8位二进制和Base64加密
3,这是Monika教的加密法则哦

点击展开聊天记录

聊天记录
嘿嘿···晚晚···嘿嘿···晚···

首先我们来试着解密,通过观察分析已经给出的信息,我们很容易得出猜想,这串以==结尾的字符串特征明显,是被加密后的Base64编码字符串。
又因为信息提供8位二进制线索,我们基本可以确定方向:首先将010 ybb二进制数字串以8位一组的方式转为10进制,结果如下:
二进制转十进制
这样一组十进制数字,相信很多人DNA都会动了,首先就是用ASCII试一试,最后加上两个==的转换结果是:

SGINaWVybw==

全部是英文字母,此刻我们基本可以确定ASCII是正确的了,成功似乎就在眼前,最后来解密一下——
嗯?
嗯?似乎有哪里不对,怎么还出现了换行?一定是哪里出问题了,在对前面步骤复盘检验后排除了ASCII失误的可能性,难道不是ASCII码,需要用其他方式解码吗?一时间,和大多数人一样遇到了困难。

但也许不用那么快否定自己,我盯着这串解密出来的Base64字符串看了一会,脑中逐渐浮现出一个念头:有没有一种可能···然然··啊不是,有没有一种可能,作者是一个铸币呢?( ゚∀。)
众所周知,由于历史遗留问题
(详见此条:为什么很多英文无衬线字体都不区分大写I和小写l呢?
大写的i和小写的L在非衬线字体下是很难分辨清楚的,我们把刚刚解密出来的Base64字符串中的大写的i:I改成小写的L:l,再次解密试试看:
再次解密
噔噔咚,HiMiero看起来是正儿八经的可以作为密码输入的答案,此次解密告一段落,我们成功解密出了答案,同时也证明了···作者确实铸币了

试着来进行一下作者的操作复刻:首先将密码HiMiero使用Base64加密,获得正确的加密字符串SGlNaWVybw==,之后再进行二次加密转换成ASCII码之类的···然而就是在这第一步,居然使用了手敲或OCR的方式来转移这个Base64字符串,导致将其中第三个小写L打成了大写的i,也未对最终结果进行解密亲自核验,从而导致了这一出好戏。

最后简单总结一下,看看我们能从这里学到什么。

①自己的解密角度:
·没有尝试完所有可能性后不要急于否定,除非另一种候选的成功几率很大;
·越广阔的知识面能够带来越多的成功可能性,比如I和l的相似;
·警惕此类错误,在迫不得已手敲时注意两个字母的出现并对大小写敏感;
·发散一下,I和l的相似也许很多人都知道,我也深以为然,但假如解密并非出现换行暴露了错误,而是解密出另一串英文字符,也许我就会用解密出来的错误答案去尝试解压了,解压失败的成本几乎为0,重新试一遍就好了,但如果是在更重要的环境中呢?

②作者的加密角度:
·警惕此类容易忽视的陷阱,最容易忽视的错误也许会导致最严重的结果;
·完成加密工作后,自己按照用户的方式,换位思考&操作,亲自逆向解密自己所设下的加密迷宫,验证可行性。


趣事小记晚比完毕,马上去魔都待一阵子。
在这期间也许会慢慢把a-soul.lifea-soul.wangzhijiang.city三个域名的网页整好,目前的想法是前两个用在线相册的形式,要前端有足够的美观欣赏性,后端最好容易增添新照片,如果是通过源代码添加要求结构简单易增加。至于枝江,暂考虑Three.js或类似Web 3D技术复刻枝江城市外景,或者和前者相似的展示。
回见。

Last Modified: August 3, 2021
Leave a Comment

已有 1 条评论
  1. 啊喂 啊喂

    想知道里面的图片是什么。