我们可以利用下列命令来执行上面的程序:
1
|
$ python encode.py image.png image_out.png payload.dat
|
让我们看看把图像嵌入到图像后是什么样子吧!
在这个图像里面,我又编码进去了一个JPEG。该图像显然变得更柔和了,在透明度方面多少有些掉帧的感觉,但通常不至于引起别人的怀疑。通过对编码过程进行一些改进,可以使alpha通道看起来更加自然。
实际上,嵌入其中的图像如下所示:
下面的Python脚本可以从图像中恢复数据:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
from PIL import Image
from sys import argv
from base64 import b64decode
i = argv[1]
o = ''
s = argv[2]
img = Image.open(i)
for x in xrange(img.size[0]):
for y in xrange(img.size[1]):
p = img.getpixel((x, y))
p = p[-1]
o = o + chr(p)
o = o.replace('\000', '')
o = b64decode(o)
with open(s, 'wb') as f:
f.write(o)
|
发表评论