在做CTF时其实也遇到过这样的题型,谓之隐写术,利用LSB算法来隐藏信息在图片里,其原理是:图片中的像数一般是由三种颜色组成,即三原色,由这三种原色可以组成其他各种颜色,例如在PNG图片的储存中,每个颜色会有 8bit,LSB隐写就是修改了像数中的最低的1bit,在人眼看来是看不出来区别的,也把信息隐藏起来了。譬如我们想把’A’隐藏进来的话,如下图,就 可以把A转成16进制的0x61再转成二进制的01100001,再修改为红色通道的最低位为这些二进制串。
将这个思路套用在QQ里,不难发现,所谓的幻影坦克是利用透明度不同而实现的玩法。图片自带一个半透明白色背景,而QQ的聊天框背景色为白色时,显示出来的是不透明部分,当图片被双击查看时,QQ的聊天框背景颜色为黑色,则会显示出白色部分。总结:白色线条在白色背景下不显示,但背景不是白色时可以显示。