故事背景:

在情人节那天,因金融诈骗身陷囹圄的小张,寄给了他老婆一个优盘,表达对老婆的节日祝福。为了安全起见,监狱长是不允许寄出东西的,但是毕竟情人节,就同意了。

寄出之前,监狱长对U盘里面的内容进行了详细检查,发现里面就一张名为“love.png”的图片,仔细观察图片没有发现什么异常。狡猾的监狱长还特意产看了U盘中有没有隐藏文件,发现也没有。于是放行了U盘。 

但是,仅仅过了一天,小张账户上上亿资金就被转移走了!只有小张知道密码和账户的情况下,是何人把他账户上的钱转移了?


我们有幸拿到了邮寄出去的U盘,里面确实只有一个文件,也没有隐藏文件。


更隐秘的文件隐藏方式_JAVA


下面我们在该路径下,进行如下操作

whats-this:testzip yiguan$ unzip love.png
Archive:  love.png
warning [love.png]:  18657 extra bytes at beginning or within zipfile
 (attempting to process anyway)
 inflating: mypassword.txt

 
whats-this:testzip yiguan$ ls -ltr
total 48
-rw-r--r--  1 yiguan  staff    116 22 Apr 18:02 mypassword.txt
-rw-r--r--  1 yiguan  staff  18917 22 Apr 18:03 love.png

whats-this:testzip yiguan$ cat mypassword.txt
银行账户: xxxxxxxxxxxxxxxxx
账户密码:d41d8c
请把账户里面的资金转移到yyyyyyyyyyyyyy账户!

一个普普通通的PNG文件竟然解压出了一个txt文本文件,文本文件中隐藏了很多秘密信息!

这是怎么做到的呢?


首先,创建一个文本文件,里面存放你要保存的内容,我这儿创建了一个“mypassword.txt”的文本文件。 然后,我把该文件压缩,创建压缩文件,“mypassword.zip”

zip mypassword.zip mypassword.txt
rm mypassword.txt

然后随便找一张PNG格式的图片,这里我用一张名为“m1.png”的图片。将这张图片和刚才的压缩文件使用cat合并,形成一个新的名为“love.png”的文件。

cat m1.png mypassword.zip > love.png

这是就已经完成了,此时该文件夹中又3个文件,如下:

ls -ltr
total 88
-rw-r--r--@ 1 yiguan  staff  18657 22 Apr 17:16 m1.png
-rw-r--r--  1 yiguan  staff    260 22 Apr 17:41 mypassword.zip
-rw-r--r--  1 yiguan  staff  18917 22 Apr 17:41 love.png

用鼠标打开“m1.png”和“love.png”两个文件,你看到的是完全一样的。但是比较这2个文件的大小你会发现,“love.png”文件的大小正好等于“m1.png”和“mypassword.zip”两个文件大小之和(18917 = 18657 + 260)。 

下面,再把你不需要的两个源文件(“m1.png”和“mypassword.zip”)删掉就可以了,此时文件夹中只有一个“love.png”文件。但是在这个PNG文件中却隐藏着一个秘密文件!

同样的道理,如果你又很多漂亮小姐姐的照片,也可以通过同样的方法进行隐藏,这要比你隐藏文件夹要高级的多。 

更隐秘的文件隐藏方式_JAVA_02

压缩 -> 合并(务必将图片放在合并文件的第一个) -> 删除多余文件 -> 得到如下:

更隐秘的文件隐藏方式_JAVA_03


==== THE END ====


更隐秘的文件隐藏方式_JAVA_04