一种在内存中截图盲水印添加制造技术

技术编号:39574785 阅读:9 留言:0更新日期:2023-12-03 19:26
本发明专利技术公开了一种在内存中截图盲水印添加

【技术实现步骤摘要】
一种在内存中截图盲水印添加、提取方法


[0001]本专利技术涉及数字水印
,具体涉及一种在内存中截图盲水印添加

提取方法


技术介绍

[0002]无论是在开放还是封闭的办公网络环境中,对涉及知识产权保护

敏感信息

商业机密等信息的重要文件进行保护

震慑和溯源已越来越重要

而数字水印技术则是效果最好

震慑力最高

应用最广的一种

数字水印技术经过十多年发展在音频

视频

打印等数字水印技术的研究都有了很成熟的成果

[0003]目前数字水印技术分为明水印和盲水印两种,明水印是可以被人眼看见的水印,一般由文本

图像构成,可以有效震慑未经授权的复制拷贝

而盲水印则可以理解为主动在数据中添加不可见

透明等无法感知的标记,可用来进行溯源和追踪

[0004]然而无论明水印还是盲水印在面对复杂的办公环境时都很难面面俱到,譬如明水印容易通过被破坏和丢失,并且存在忘记添加水印或者开启水印等人为因素影响致使水印功能失效,从而导致信息泄露

而传统的盲水印在面对各类截图软件

社交平台等对上传图片的压缩技术则面临着空前的挑战,特别是在开放的办公环境下,通过各类软件进行屏幕截图,随后对图片进行修改r/>、
涂抹等方式的处理后,再上传至各类社交平台,由社交平台的压缩技术对图片进行二次处理,使得对于泄露图片的追踪

溯源变得困难

[0005]现有盲水印技术方案一般包括以下步骤:得到原始图像文件并获取图像原始载体数据;将溯源信息以不可见字符

隐形图像水印形式混入原始图像;得到含水印的图像;溯源时先获取含水印图像全部数据;提取图像信息中的水印信息;获得明文使用者信息进行溯源

[0006]现有盲水印技术一般需要事先通过特定程序对需要加密的载体进行盲水印添加,盲水印内容通过图形水印或者文本水印的方式添加到载体中,这种方式有以下缺点:
[0007](1)
使用者可以对屏幕上已经打开的未添加数字水印的任意内容进行截取得到图像文件,使得尚未添加水印关键内容泄露;
[0008](2)
使用者可以对屏幕上已经添加数字水印的部分关键内容进行截取,从而使得后续溯源时由于图片数据不完整无法还原水印进行溯源;
[0009](3)
在对图像添加水印过程中存在图像物理文件,容易被中途截取未添加水印的物理文件图像


技术实现思路

[0010]针对现有技术中的缺陷,本专利技术提供一种在内存中截图盲水印添加

提取方法

[0011]第一方面,一种在内存中截图盲水印添加方法,包括:
[0012]对
WINDOWS
系统
API
接口进行
HOOK
处理,在进行屏幕截图时调用所述
API
接口并获取盲水印添加的控制权;
[0013]通过所述
API
接口基于控制权获取屏幕截图,提取所述屏幕截图的位图数据,并将所述位图数据拷贝至内存;
[0014]生成溯源信息,并对内存中所述位图数据添加明文溯源信息;
[0015]对内存中所述绘有明文溯源信息的位图数据,基于颜色通道将溯源信息添加至位图像素块中,以对屏幕截图添加盲水印;
[0016]将添加有盲水印的屏幕截图进行显示,完成盲水印自动添加

[0017]进一步地,所述对
WINDOWS
系统
API
接口进行
HOOK
处理,在进行屏幕截图时调用所述
API
接口并获取盲水印添加的控制权,具体为:
[0018]获取盲水印动态库,并通过注入方式将所述盲水印动态库加载至
WINDOWS
系统的进程中;
[0019]获取被注入进程中的
API
接口优先控制权,以利用
HOOK
技术实现对截图
API
接口的截停,所述
API
接口包括
BitBlt、StretchBlt
以及
MaskBlt

[0020]在
WINDOWS
系统的进程进行屏幕截图时,调用所述
BitBlt、StretchBlt
以及
MaskBlt
中的任一
API
接口,并获得控制权,以获取执行盲水印添加工作的控制权限

[0021]进一步地,所述通过所述
API
接口基于控制权获取屏幕截图,提取所述屏幕截图的位图数据,并将所述位图数据拷贝至内存,具体为:
[0022]通过所述
API
接口基于控制权获取屏幕截图;
[0023]当所述屏幕截图的宽度和高度满足预设像素条件时,调用所述
API
接口获得兼容屏幕的句柄,将所述屏幕截图的原始数据复制至句柄,并通过句柄遍历所述屏幕截图提取位图数据;
[0024]将所述位图数据拷贝至
WINDOWS
系统的共享内存中

[0025]进一步地,所述生成溯源信息,并对内存中所述位图数据添加明文溯源信息,具体为:
[0026]获取由盲水印动态库随机生成的溯源信息,所述溯源信息由
32
位盲水印唯一标识符构成;
[0027]将内存中所述位图数据转换为
DCT
矩阵,得到位图矩阵;
[0028]根据所述位图矩阵的行列数设置溯源信息的参数配置,并基于所述参数配置在位图矩阵的正反面均添加明文溯源信息

[0029]进一步地,所述对内存中所述绘有明文溯源信息的位图数据,基于颜色通道将溯源信息添加至位图像素块中,以对屏幕截图添加盲水印,具体为:
[0030]将内存中添加明文溯源信息的位图矩阵进行颜色空间转换,分割位图矩阵的
YUV
三个颜色通道并提取
Y
通道值矩阵;
[0031]将所述溯源信息转换为
DCT
矩阵,得到溯源信息矩阵;
[0032]将所述
Y
通道值矩阵按照8像素的宽高划分成块,将每个块转换为8像素矩阵并做离散余弦变换;
[0033]在每个所述8像素矩阵中添加溯源信息矩阵的矩阵数据,并将完成添加的8像素矩阵做离散余弦反变换;
[0034]当每个所述8像素矩阵均完成变换时,将
Y
通道值矩阵与其他两个颜色通道值矩阵进行合并,以将溯源信本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种在内存中截图盲水印添加方法,其特征在于,包括:对
WINDOWS
系统
API
接口进行
HOOK
处理,在进行屏幕截图时调用所述
API
接口并获取盲水印添加的控制权;通过所述
API
接口基于控制权获取屏幕截图,提取所述屏幕截图的位图数据,并将所述位图数据拷贝至内存;生成溯源信息,并对内存中所述位图数据添加明文溯源信息;对内存中所述绘有明文溯源信息的位图数据,基于颜色通道将溯源信息添加至位图像素块中,以对屏幕截图添加盲水印;将添加有盲水印的屏幕截图进行显示,完成盲水印自动添加
。2.
根据权利要求1所述的一种在内存中截图盲水印添加方法,其特征在于,所述对
WINDOWS
系统
API
接口进行
HOOK
处理,在进行屏幕截图时调用所述
API
接口并获取盲水印添加的控制权,具体为:获取盲水印动态库,并通过注入方式将所述盲水印动态库加载至
WINDOWS
系统的进程中;获取被注入进程中的
API
接口优先控制权,以利用
HOOK
技术实现对截图
API
接口的截停,所述
API
接口包括
BitBlt、StretchBlt
以及
MaskBlt
;在
WINDOWS
系统的进程进行屏幕截图时,调用所述
BitBlt、StretchBlt
以及
MaskBlt
中的任一
API
接口,并获得控制权,以获取执行盲水印添加工作的控制权限
。3.
根据权利要求2所述的一种在内存中截图盲水印添加方法,其特征在于,所述通过所述
API
接口基于控制权获取屏幕截图,提取所述屏幕截图的位图数据,并将所述位图数据拷贝至内存,具体为:通过所述
API
接口基于控制权获取屏幕截图;当所述屏幕截图的宽度和高度满足预设像素条件时,调用所述
API
接口获得兼容屏幕的句柄,将所述屏幕截图的原始数据复制至句柄,并通过句柄遍历所述屏幕截图提取位图数据;将所述位图数据拷贝至
WINDOWS
系统的共享内存中
。4.
根据权利要求3所述的一种在内存中截图盲水印添加方法,其特征在于,所述生成溯源信息,并对内存中所述位图数据添加明文溯源信息,具体为:获取由盲水印动态库随机生成的溯源信息,所述溯源信息由
32
位盲水印唯一标识符构成;将内存中所述位图数据转换为
DCT
矩阵,得到位图矩阵;根据所述位图矩阵的行列数设置溯源信息的参数配置,并基于所述参数配置在位图矩阵的正反面均添加明文溯源信息
。5.
根据权利要求4所...

【专利技术属性】
技术研发人员:胡祥新陈锋何华荣黄杰王志祝青柳
申请(专利权)人:深圳市联软科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1