盲水印(Blind-WaterMark)

article/2025/11/7 15:59:53

盲水印是一种肉眼不可见的水印方式,对图片资源使用图片盲水印或者文字水印,借此避免数字媒体未经授权的复制和拷贝,可通过对原图进行解码操作,得到水印图来证明版权归属。

这类盲水印是怎样实现的呢?原理并不复杂,通常是将图片进行离散余弦、小波或者傅里叶变换,得到图片的频谱信息,再将水印的编码信息叠加到图片的频谱上,然后再进行一次逆变换,生成的图片就带有几乎无法检测、但又可以确切还原出来的盲水印了。

盲水印的特性

  1. 隐蔽性由于不希望被察觉、不希望干扰用户体验、不希望被模仿等等原因,我们的水印不可见,也就是隐匿性。
  2. 强健性强健性通常也被称作鲁棒性,来自于其英文名称(Robustness)的音译。加了水印的图即使经过各种修改如压缩 、裁剪、涂画,旋转,也依然可以提取出水印。
  3. 不易移除性不易移除性跟鲁棒性有些相似, 不同的是:鲁棒性更加强调的是数字资源在传播过程中不要被不自觉地干扰和破坏。不易移除性是在别有用心者察觉了盲水印的存在后,不被他们自觉地移除或者破坏。

而这样的盲水印制作GitHub就有开源算法可以实现

 https://github.com/chishaxie/BlindWaterMark#blindwatermark
 

ctf解题

攻防世界 misc 4-1

附件链接:https://adworld.xctf.org.cn/media/file/task/94bcfe60a3d3409bb77823c70a4c0245.zip

下载得到zip解压得到PNG图片

 Kali下binwalk分析文件发现隐写zip foremost分离文件

 

解压分离后的zip得到一个压缩包和一个小提示

小提示

解压压缩包得到两张图片

 

考点是盲水印

Python实现盲水印提取

运行脚本前需要安装两个模块

先需要安装opencv

选择如下其中一条命令安装

pip install opencv-python
pip3 install opencv-python

安装matplotlib

python -m pip install matplotlib

使用如下其中一条命令提取盲水印(选择哪条取决于运行的是Python2脚本还是Python3)

python2 bwm.py decode day1.png day2.png flag.png
python bwmforpy3.py decode day1.png day2.png flag.png --oldseed

生成一个flag.png图片

得到flag

破坏测试

原图,水印图

                       

 加了盲水印的图及提取出来的水印图

                      

 光线攻击及提取出来的水印图

                    

多遮挡攻击及提取出来的水印图

                     

 涂画攻击及提取出来的水印图

                     

 


http://chatgpt.dhexx.cn/article/LvRwBEbu.shtml

相关文章

Windows系统通过CMD连接MySql

1.按压WindowsR快捷键后输入"cmd" 2.点击"确定"按钮后打开命令行 3.通过输入"cd"MySql安装的bin目录,按压"Enter"后进入MySql安装的bin目录 4.输入"mysql -h localhost -u root -p",此处-h后为对应ho…

cmd中无法连接MySQL

本人电脑是win10系统,安装的是MySQL5.7版本的,最近在登录MySQL的时候老师出现下面的错误,有的时候重启电脑耶也会出现这样的情况 1.先检查你的环境变量是否配置好了; (如果没有配置好,请参考一下的步骤&am…

如何使用cmd安装MySQL

步骤一: 在官网MySQL: 点击download显示下载页面: 点击 MySQL community download(这个适个人合开发者,免费的,之前的MySQL Enterprise Edition是企业版付费需要 ,MySQL cluster CGE 是免费版但…

navicat或者cmd远程连接mysql数据库

问题产生: 一般情况下,MySql数据库是不允许进行远程连接操作的,强行使用Navicat连接会报出下面的错误。 服务器连接错误主机XXX不允许连接到此的MySQL的服务器 方法步骤: 1、远程登录授权 在服务器端进行操作,下…

cmd窗口无法连接MySQL的解决方法

1.将下载Mysql中的bin目录的路径配置到Path环境变量中; 2.winR,输入services.msc,到服务窗口找到mysql服务,其中mysql的服务名可能是mysqlxx而不是mysql,比如我的是mysql80,找到之后点击,然后在…

cmd启动MySQL

命令行启动MySQL step1:打开命令行:win R step2:输入如下命令,root与1234分别为MySQL的用户名与密码 mysql -uroot -p1234出现如下信息即为启动成功 如果连接失败 显示如下错误信息: ERROR 2003 (HY000): Cant …

cmd的mysql命令_MySQL cmd命令

1.MySQL 登录: mysql -h localhost -u root -p test Enter password: ***** -h 指定数据库主机名,默认时登录主机。-u指定用户名(即安装数据库时的设置的用户名)。-p指明登录需要密码,如果没有密码,可省略-p参数。 -p 后面的test并不是密码,而是要登录的数据库名。如果-p后…

cmd命令创建连接MySQL数据库

欢迎大家关注我的公众号【老周聊架构】,Java后端主流技术栈的原理、源码分析、架构以及各种互联网高并发、高性能、高可用的解决方案。 一、连接MYSQL 格式: mysql -h 主机地址 -u 用户名 -p 用户密码1、 连接到本机上的MYSQL。 首先打开DOS窗口&#…

解决在cmd情况下无法连接MySQL情况(无脑操作教程)

在输入外部命令:mysql -u root -p的时候,出现下面的情况: (网图,侵删) 问题分析:可能是MySQL路径问题没有解决; 解决方法:1.打开电脑高级设置; 2.点击环境变…

cmd控制台连接MySQL数据库_如何利用CMD连接本机mysql数据库

从事数据工作的IT人员,很多人都会与Mysql数据库打交道。因为mysql数据库是一个开源的数据库,利用它来学习数据库的人也有很多。笔者今天就给大家分享一下,安装好mysql之后,怎么利用CMD连接本机mysql数据库。 1.首先第一步是需要我…

cmd指令连接mysql数据库,以及创建数据库与表

cmd指令连接mysql数据库,以及创建数据库与表 1, 打开命令提示符cmd(直接搜索cmd回车) 2,进入mysql,在cmd命令行输入mysql -uroot -p,然后输入你的mysql密码,成功后进入数据库 3,查看mysql中的…

如何连接Mysql

利用services.msg命令 ctrlr,输入命令:services.msc 在“服务”中找到并开启MySQL即可 利用cmd命令 ①按住快捷键winr,打开“运行”命令。 ②输入cmd,运行进入命令提示符界面。 ③在cmd中,输入mysql -u root -p…

CMD连接MySQL,本地phpAdmin登陆

Ⅰ.cmd连接数据库 方法一 1.WINR输入CMD,进入到数据库安装的盘路径(cd\,会进入c盘根目录,再d:就进入d盘了,再cd 进入你数据库的安装路径) 2.输入mysql -P 端口号 -h mysql的主机名\ip -u root&#xff0…

Windows下cmd窗口连接mysql

mysql安装完毕后,命令窗口连接需配置path环境变量,值为mysql安装的目录/bin。如图,Windows下搜索cmd,回车 在DOS命令窗口输入 mysql -hlocalhost -uroot -p回车 进入mysql数据库,其中-h表示服务器名,local…

从cmd 连接mysql_通过cmd命令连接mysql

通过cmd的命令窗口连接mysql,只需要在命令行中输入 mysql -uroot -p123456 .它会出现这样的提示:mysql不是内部或外部命令。解决办法是在环境变量的path路径下加入 C:Program FilesMySQLMySQL Server 5.6bin。 如下图: 将mysql配置到环境变量…

cmd连接mysql的方法详解

cmd连接mysql的方法详解 首先需要进入mysql的安装文件夹bin目录下:cd C:\Program Files\MySQL\MySQL Server 5.5\bin 连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与用户名之间不用加空格,密码也一样,若不写-h…

cmd连接mysql数据库_怎么用cmd连接mysql数据库

cmd连接mysql数据库的方法:1、按【winr】打开运行,输入cmd,回车;2、在打开的命令提示符中进入mysql的bin目录下;3、执行【mysql -u root -p】命令并输入密码即可。 具体方法: (推荐学习:Python入…

用cmd命令行连接mysql数据库

右击左下角菜单,选择“运行”菜单,弹出如下窗口, 输入“cmd”命令,点击“确认”按钮。 找到mysql的安装路径 C:Program FilesMySQLMySQL Server 5.7in 使用cd切换到msyqld.exe路径下,然后输入mysql连接命令&#xff0c…

cmd(命令行)操作或连接mysql数据库,以及创建数据库与表

1.相关指令 1.按下键盘上的windowsR键输入cmd,或在搜索框直接输入cmd 2.进入mysql: 在命令行输入mysql -uroot -p,然后输入你的mysql密码,成功后进入mysql数据库 3.查看mysql中的数据库 show databases; 4.使用某一个数据库 u…

c语言计算器

c语言计算器两种方法 //一般做法 #include<stdio.h> #include<windows.h> //#include<assert.h> void menu() {printf("**************************\n");printf("****欢迎来到计算器页面****\n");printf("**** 1.add 2.mul **…