https://www.bilibili.com/video/BV1PN411R7uF/
89870-tf24ttm8xrc.png?x-oss-process=style/load
一张图片里,藏着的秘密

23232-4dhpyb0gx4r.png?x-oss-process=style/load
欢迎回来,我是波西。那么现在,我们就要来想办法解开谜题了。这样一张普通的照片,会藏着什么呢。

93002-r9h17619ljm.png?x-oss-process=style/load
先看看能不能知道图片主人公是谁?

83604-1dvu5uov5s.png?x-oss-process=style/load
于是我向资深的二次元群友求助,得知这是出自《魔女之旅》的伊蕾娜。

59235-bstk2xstmqg.png?x-oss-process=style/load
等待回复的过程中,经过尝试发现,这是一个“图种”。也就是图片中藏着一个zip压缩包。

32515-ap4k8pu3gbn.png?x-oss-process=style/load

63787-pm4dzb31h5h.png?x-oss-process=style/load
这是如何实现的呢? 其实非常简单,图片是由二进制数据,可理解为一大串010101构成。而不同格式的文件,一般会有约定俗成的各种标识,标记文件开头和结尾。

86471-337mi0xkxnw.png?x-oss-process=style/load
普通的图种,只需要在图片数据末尾,直接写入第二个文件的二进制数据,就会隐藏其中。我们所使用的大部分查看器,只会处理符合规矩的图片数据。当我们想要提取出来的时候,分开它们即可。这里其实还可以涉及一些更有趣的内容,但得继续解题才行!

97096-gcc0krd5wek.png?x-oss-process=style/load
不过,想要解开压缩包,需要密码。

由于规则的限制,不能暴力破解密码。有趣的是,我看到压缩包注释中有一段文字:“她的生日是?”
42740-w1zc6qxyd0e.png?x-oss-process=style/load
这。莫非是指伊蕾娜的生日?

64877-3ggyfjrw3xl.png?x-oss-process=style/load
经过百科搜索,知道了伊蕾娜的生日为10月17日。

56629-xu8z564ej1a.png?x-oss-process=style/load
再按括号内,月月/日日的格式填入,成功解开了第一个压缩包。得到了“套娃”在其中的第二个压缩包。

16548-785fygog3t4.png?x-oss-process=style/load
可惜,仍然需要密码才能解开它。压缩包也很亲切的留下了备注“他的生日是?”

或许是“他”一字打错了?我用10/17尝试了一下,并不能解开。

这下怎么办呢? 我盯着电脑发呆。无意之间看到图片暗藏玄机。
47696-nyfsqjot9i.png?x-oss-process=style/load
给各位观众放大一下。能看到,在这张图片的右下角,隐隐约约的写着三个字母”LSB”

如果不注意,确实很难看到哇。

那么,LSB是什么呢?
54620-emdnc3gehf.png?x-oss-process=style/load
LSB的意思是:全称为Least Significant Bit,在二进制数中意为最低有效位,一般来说,MSB位于二进制数的最左侧,LSB位于二进制数的最右侧。

维基百科告诉我们,LSB是指一个二进制数字中的第0位。

但是这跟我想要的压缩包密码有什么关系啊。

在我翻网页时,突然看到了“Lsb图片隐写”有关的文章。原来,图片LSB隐写是一种类似藏头诗的将数据写到图片中的方法。
图片LSB隐写原理

这非常有趣且易于理解,让我来给你讲解一下原理吧。
76666-nh0dza3u8yq.png?x-oss-process=style/load

我们都知道,将一张点阵图片放大,就能看到一个个有颜色的像素点。
45050-44hdoumbms7.png?x-oss-process=style/load
每个像素点一般由红绿蓝(RGB)三种颜色占不同比例合成。
每个颜色通常用0-255描述深浅。 对应二进制的0000 0000 – 1111 1111。

24375-kd29hxm6k6b.png?x-oss-process=style/load
这里的最后一个0或1为最低位。

44463-8tcljxyl4bw.png?x-oss-process=style/load
接下来,只需要对每行的每个像素点,按照RGB的顺序,可以得到这样的一个列表。

93861-44xh5jmdls1.png?x-oss-process=style/load

18298-yty58jje1.png?x-oss-process=style/load
54403-fr9vho8enap.png?x-oss-process=style/load
26718-h1qufr68au6.png?x-oss-process=style/load
再去修改每一个的最低位为想要写入数据的二进制,就能把数据藏在图片里了。
而且,这样修改图片的颜色,产生的差别非常小,肉眼几乎无法发觉。所以需要使用逆向这个过程的程序来提取隐藏的内容。

51095-sewo7qmh8cs.png?x-oss-process=style/load
在网络上也有现成的,破译Lsb图片隐写的工具。

既然图片的文件名叫RGB。在读取信息时,我们也选择RGB的末位,看看能不能找到藏在图片内信息。

66314-xie1l9l1xi.png?x-oss-process=style/load
非常神奇,我们竟然得到了一个类似base64编码的文本。
Base64科普
up平时有做过网站设计相关的教程,对这种还是稍有了解。不然可能就得卡这里了,你也可以看我往期视频,学习如何亲手制作一个网站!

PS:Base64编码:
Base64编码要求把3个8位字节(38=24)转化为4个6位的字节(46=24),之后在6位的前面补两个0,形成8位一个字节的形式。
如果剩下的字符不足3个字节,则用0填充,输出字符使用‘=’,因此编码后输出的文本末尾可能会出现1或2个‘=’

66029-8ieyp5inwna.png?x-oss-process=style/load
使用工具解码这段base64后,又得到了这样一串字符。不难看出,这是一句摩斯密码。

77788-jj3awgkfe5o.png?x-oss-process=style/load
继续用工具来解码它。

31100-7rbf87daczt.png?x-oss-process=style/load

最终,历经这么多操作,我们得到了在图片中隐藏如此之深的文本内容:11037-ALTEREGO

这和我们想要的“他的生日”有什么关系啊
89624-y28an1t3s6p.png?x-oss-process=style/load
直接百度上面一串文字,得不到什么有用的信息,于是我分开字符串,先搜索一下11037好了。
32972-xlq100oamz9.png?x-oss-process=style/load

出人意外,这个11037是《弹丸论破》中 舞园沙耶香 留下的死亡信息。虽然不知道出题人到底何意,但不妨尝试一下舞园沙耶香的生日日期。

我尝试用7/7 07/7 7/07 07/07(七月七日) 作为密码,都不能解开压缩包。果然应该是需要一个男人的生日才行。

32254-if2yt5wqrmc.png?x-oss-process=style/load

58246-e03rwuciab.png?x-oss-process=style/load
26939-wxu2je8l52.png?x-oss-process=style/load
有趣的是,根据弹丸论破中的剧情,如果将11037倒过来,就会是凶手LEON桑田怜恩 的名字。

我又接着尝试了桑田怜恩的生日 1月3日,还是没法解开。

等等。我们不是还有另一部分的字符 ALTEREGO 没用吗。
36387-ymf3m4bpfdh.png?x-oss-process=style/load
而在弹丸论破的人物中,刚好有一个叫Alter Ego 的人工智能。但并不知道这个AI在何日出生。

在阅读其中的详细后,原来这个AI是由弹丸论破中不二咲千寻制作的。但一看这不是个妹子吗。还是找错了吗?

翻阅百科时,看到了其中的人物——黑白熊。也就是被篡改的桌面壁纸。果然,这一切都和名叫《弹丸论破》的番剧脱不开关系。
96528-i0vzgu6vcjb.png?x-oss-process=style/load
而角色不二咲千寻,翻阅百科黑条,原来这个妹子是个伪娘。他的生日是3月14日。用3/14来作为解压密码,我终于得到了其中的txt文件。

文件中,是一大串的乱码。Up主已经在这里尝试过很多办法了,还是不能解开这段它。于是在这里向视频前的你求助。
29019-ub8oyqnax8.png?x-oss-process=style/load
我会把原图片打成压缩包。并且把最终的文本内容也放在链接中。希望你能找到最后的答案。

视频已至尾声,所有情景均为虚构,希望你喜欢这个故事。

参考资料: 维基百科-PNG: https://zh.wikipedia.org/wiki/PNG 维基百科:-最低有效位:
https://zh.wikipedia.org/wiki/%E6%9C%80%E4%BD%8E%E6%9C%89%E6%95%88%E4%BD%8D
维基百科-ASCII: https://zh.wikipedia.org/wiki/ASCII 维基百科-Base64:
https://zh.wikipedia.org/wiki/Base64
维基百科-摩尔斯电码:https://zh.wikipedia.org/wiki/%E6%91%A9%E5%B0%94%E6%96%AF%E7%94%B5%E7%A0%81

百度百科-舞园沙耶香:
https://baike.baidu.com/item/%E8%88%9E%E5%9B%AD%E6%B2%99%E8%80%B6%E9%A6%99/8639793?fr=aladdin

萌娘百科-伊蕾娜: https://zh.moegirl.org.cn/%E4%BC%8A%E8%95%BE%E5%A8%9C
萌娘百科-桑田怜恩:https://zh.moegirl.org.cn/%E6%A1%91%E7%94%B0%E6%80%9C%E6%81%A9
萌娘百科-AlterEgo:https://zh.moegirl.org.cn/Alter_Ego
萌娘百科-不二咲千寻:https://zh.moegirl.org.cn/%E4%B8%8D%E4%BA%8C%E5%92%B2%E5%8D%83%E5%AF%BB
萌娘百科-黑白熊:https://zh.moegirl.org.cn/%E9%BB%91%E7%99%BD%E7%86%8A

思否-Lsb图片隐写(豌豆问答):https://segmentfault.com/a/1190000016223897
哔哩哔哩-弹丸论破:
https://www.bilibili.com/bangumi/play/ss4400/?from=search&seid=17863682056516377958

CSDN-Floating Snow :
https://blog.csdn.net/qq1437715969/article/details/103617581
Cnblogs-cat47 : https://www.cnblogs.com/cat47/p/11483478.html