找不同-图片盲水印

原理什么的有点迷,一般ctf的题目给出了两张图片让找不同就是考察图片盲水印

解水印准备工作

Github地址

使用bwm的环境是python2,但我一直使用的都是python3的版本,上网找尽各种方法,还是老老实实用python2吧

安装Python2的pip

由于之前存在python3的pip,因此也有些费力的装了个Python2的pip

原地址

安装时报错:

编码问题,找到出问题的setup.py文件,在import下方加入:

if sys.getdefaultencoding() != 'gbk': 
    reload(sys) 
    sys.setdefaultencoding('gbk')

安装好了pip,由于环境变量中的python3优先级大于python2,因此输入pip显示的是python3的pip

将python27文件夹中的python.exe改为python2.exe,这样输入python是python3,输入python2则是python2

找到资料,输入

python2 -m pip --version

即可显示python2中的pip信息

至此python2的pip安装完毕

安装运行脚本所需要的包

安装opencv库:

python2 -m pip install opencv-python

安装matplotlib库

python2 -m pip install  matplotlib

bwm的使用

cd到bwm.py目录,

合成:

python2 bwm.py encode 原图名称 水印图名称 合成图名称

提取:

python2 bwm.py decode 原图名称 加了水印图后的名称 水印图名称

数字盲水印与图片盲水印

这两种水印添加后基本未对原始图像造成视觉上的损失

数字盲水印就是将一些数字或字母信息隐藏到图片中;图片盲水印就是将一张图片隐藏到另一张图片中,解水印的时候需要原图与加了水印后的图才能解出水印

大佬写的有关盲水印的文章:

https://www.zhihu.com/question/50735753/answer/122593277