为什么还是知道截图的人为什么还是知道截图的人是谁

最近,广州多益公司的一则主动降薪通知上了头条,作为吃瓜群众中的一员,在震惊多益负责人迷之操作之余,也对他们是如何通过截图找到举报人产生了好奇。

“不是没人见过截图过程吗?”,“截图上不是没有水印吗?”。

前段时间,在一篇关于暗水印的文章上,我找到了答案。根据文章介绍,定位截图人,目前除了显式水印,还有两种比较隐蔽的方法。一种是通过监听用户的截图事件,在截图的时候通过服务器上报截图人信息。另外一种是事先在需要防止截图的数据中植入用户信息,形成数字水印。

1、基于监听截图事件,上报截图人信息

这种方式实现起来较为简单,目前主流的操作系统基本上都有与监听截图事件相关的接口。比如:

在安卓中:

  • 利用FileObserver监听某个目录中资源变化情况
  • 利用ContentObserver监听全部资源的变化
  • 监听截屏快捷按键 ( 由于厂商自定义Android系统的多样性,再加上快捷键的不同以及第三方应用,监听截屏快捷键这事基本不靠谱,可以直接忽略 )

在IOS中:

不过,由于这种方法依赖于上报,所以如果网络出现问题,那用户信息上报也可能会出现问题。

2、基于植入关于用户信息的数字水印

这种方式不依赖于客户端的上报,而且安全性也比较高,在很多场景下都有应用。

数字水印技术是一种基于内容的、非密码机制的计算机信息隐藏技术。是保护信息安全、实现防伪溯源、版权保护的有效办法。是信息隐藏技术研究领域的重要分支和研究方向。数字水印一般分为明水印与暗水印。多数职场人都了解明水印,但对于暗水印基本属于无知状态。因为明水印打在背景上,肉眼可见,还很容易被移除,但暗水印肉眼是不可见的,且较难移除。(注:暗水印,是指人感知不到的水印,不但你看不到,即使嵌入音频里,你也听不见)

下面我们拿网上一名网友的图做个案例。

1、添加水印

添加水印的过程是一个编码的过程。

如上原图,尺寸300*240。进行傅里叶变换后,生成如下频域图像:

下图是要加的水印,尺寸200*100。

进行编码后,生成如下图像:

说明:编码方式采用随机序列编码,通过编码,水印分布到随机分布到各个频率,并且对水印进行了加密。

将上图与原图的频谱叠加,生成如下新的图像。

从上图可见,新的叠加图像的频谱已经发生了巨大的变化。此时,如果再将叠加水印的频谱进行傅里叶逆变换,就可以得到叠加数字水印后的图像了。如下:

从上图看,肉眼几乎看不出叠加水印后的图像与原图的差异。

原图添加暗水印的过程,实际上是把水印以噪声的形式添加到原图像中。下图是在空域上的加水印图与原图的残差(调整了对比度,不然残差调小看不见)

可以看出,实际上上述方法是通过频域添加冗余信息(像噪声一样)。这些噪声遍布全图,在空域上并不容易破坏。

2、提取水印

水印提取是一个解码的过程,与水印叠加的过程相反。

如下是截屏后我手动抠出要测试的图像区域,并且抽样或者插值到原图尺寸,

进行水印提取操作后,得到如下图片:

从图中,我们可以清晰看到之前添加进去的水印。这说明,截图并不能隐藏原图的里面的水印信息。

实际上,不仅截图不能,涂抹、剪切、伸缩、旋转、压缩、PS等操作也不能,据某网友实验发现,目前最有可能可以的大概只有屏摄了。

哎,真是道高一尺魔高一丈。截图有风险,泄密需谨慎!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注