前言
很多时候在新闻上看到黑客将恶意代码隐藏到图片背后,这种技术早已不是什么密码,今天来窥探一下背后的技术原理。
原理
大家都知道图片是由一个个像素点组成的,黑白图片是一张二维的像素点,彩色则是RGB三张二维像素点,而图片的格式定义集中在图片头部。那么我们就可以利用图片的这种协议进行代码的隐藏:
- 为了不影响图片的查看,我们可以直接将代码追加在图片的末尾。
- 因为屏幕显示技术的落后,像素点不同但相近的rgb的值,在电脑上显示是一样的颜色。我们可以将每个像素的最后一位使用一个字符代替,达到隐藏代码的目的。
应用
你可以使用vim编辑器,随便将一张图片最后追加你想要的字符,然后使用以下Python代码查看:
with open('a.png', 'rb') as fp:
lines