V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ZhiyuanLin
V2EX  ›  程序员

知乎喜迎全平台隐写水印

  ZhiyuanLin · 2022-09-04 15:09:42 +08:00 · 43130 次点击
这是一个创建于 809 天前的主题,其中的信息可能已经有所发展或是发生改变。

网页端或 app 端登录后截图可见

https://stegonline.iculture.cc/

验证可以这个工具的 Random Color Map 模式。

比较好奇这是怎么实现的,CSS 和 HTML 里找不到痕迹,但是禁用 JavaScript 后会消失。

这是如何做到添加了文本元素但是浏览器审查元素中看不到的?

238 条回复    2023-11-25 15:22:38 +08:00
1  2  3  
villivateur
    1
villivateur  
   2022-09-04 15:15:24 +08:00 via Android   ❤️ 1
https://v2ex.com/t/838484
有谁一起优化下这个,做个自动消水印 APP 吗(我想白嫖)
paxol
    2
paxol  
   2022-09-04 15:20:37 +08:00   ❤️ 13
网页端目前确定到是一个随机命名的 div ,使用了 background 属性插入的盲水印图片。用 adblock 之类的屏蔽器添加如下规则或许可以屏蔽:

zhihu.com###root > div > div:nth-child(7)
senghoo
    3
senghoo  
   2022-09-04 15:24:31 +08:00
看了下检查元素。很容易找到啊。root 的最后一个元素,是一个 svg 铺满的背景
Zeonjl
    4
Zeonjl  
   2022-09-04 15:26:34 +08:00 via iPhone
这种水印是用来干啥的?
wowo243
    5
wowo243  
   2022-09-04 15:30:39 +08:00   ❤️ 3
@Zeonjl 溯源截图人,比如溯源 泄漏内网文件 账号,或者溯源 网传图 截图人账号
Zeonjl
    6
Zeonjl  
   2022-09-04 15:32:18 +08:00 via iPhone
@wowo243 好恐怖!看来要注意安全,不能转发截图...
ZhiyuanLin
    7
ZhiyuanLin  
OP
   2022-09-04 15:32:20 +08:00   ❤️ 3
感谢 @paxol   @senghoo !是我看漏了

console 执行 `document.querySelectorAll('#root > div > div:nth-child(7)')[0]`
可以看到该元素,CSS 规则是
```
.css-xxxxxx {
position: fixed;
top: 0px;
width: 100%;
height: 100%;
background: url("data:image/svg+xml;base64,此处是 base64 编码的 svg 图片,已移除") space;
pointer-events: none;
}
```

@Zeonjl 如果截图墙内 SNS 发墙外的话,用这个抓截图者违法翻墙一抓一个准。
Cavolo
    8
Cavolo  
   2022-09-04 15:33:49 +08:00 via iPhone
App 是真的无解
vvbbb
    9
vvbbb  
   2022-09-04 15:34:13 +08:00   ❤️ 1
恐怖 以后只能对屏拍了
ZhiyuanLin
    10
ZhiyuanLin  
OP
   2022-09-04 15:34:33 +08:00
这个 div 的 class 前几个字母固定是 css-,后缀是七个随机 alphanum 字符。
ZhiyuanLin
    11
ZhiyuanLin  
OP
   2022-09-04 15:35:24 +08:00
@vvbbb 对屏幕拍摄无解,你试试我发的那个工具还是能解析出来,可以简单二值化(这样只有纯黑纯白两色无法隐藏信息)
Zeonjl
    12
Zeonjl  
   2022-09-04 15:36:52 +08:00 via iPhone
@ZhiyuanLin 用相机翻拍屏幕也能有水印吗?
pendulum
    13
pendulum  
   2022-09-04 15:37:03 +08:00
ID+时间戳,透明度 0.005 ,真会玩
nVic
    14
nVic  
   2022-09-04 15:42:47 +08:00   ❤️ 4
想想前一阵子的“百号争鸣”和“引蛇出洞”。
ZhiyuanLin
    15
ZhiyuanLin  
OP
   2022-09-04 15:43:44 +08:00   ❤️ 3
@Zeonjl #11 现在相机拍摄的照片色彩精准度可高了呢,只要能看清楚黑白文字这种肉眼看不见的浅色文字也能完美拍摄下来。因此还原完全无障碍。

解决方案就三个
1. 不登录+VPN 访问(防止以后不登录也会用 IP 地址等做水印)
2. 图片二值化,只有黑和白,连灰阶都没有
3. 懂代码的找是哪个元素,写规则用 uBlock Origin 之类的插件屏蔽
ZhiyuanLin
    16
ZhiyuanLin  
OP
   2022-09-04 15:53:04 +08:00
保存 SVG 看了下源码,大概是这个感觉:
```
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 336 75" fill="#000" fill-opacity="0.005" width="336" height="75" font-size="15px">
<text x="10" y="1.5em">这里是 UserHash</text>
<text x="10" y="3em">这里是 UserID</text>
</svg>
```
ZhiyuanLin
    17
ZhiyuanLin  
OP
   2022-09-04 15:56:57 +08:00
实际手机拍摄试了试,的确用 Stegonline 这个工具看不出来了,不懂有没有可能用其他色彩处理手段看出来。
nmap
    18
nmap  
   2022-09-04 16:02:39 +08:00
还有这种黑科技啊😦
ZhiyuanLin
    19
ZhiyuanLin  
OP
   2022-09-04 16:04:50 +08:00   ❤️ 3
当前适用于全浏览器的 uBlock Origin 规则(屏蔽了所有带 css-XXXX 类的空 div ):
zhihu.com##div[class^=css-]:empty

不保证以后能用。
codingBug
    20
codingBug  
   2022-09-04 16:05:21 +08:00
恶心
xlsepiphone
    21
xlsepiphone  
   2022-09-04 16:05:51 +08:00
越来越难
AllenHua
    22
AllenHua  
   2022-09-04 16:10:19 +08:00   ❤️ 2
这真是越来越过分了。还有应用内分享,大家警惕使用,这种基本上都带有追踪参数。
a33291
    23
a33291  
   2022-09-04 16:14:17 +08:00   ❤️ 1
真给自己脸了属于是,以为没他地球不转了.

已注销账号.
bigbyto
    24
bigbyto  
   2022-09-04 16:30:07 +08:00   ❤️ 5
@ZhiyuanLin 这个真的是很危险,如果自己的 id 被泄漏出去,别人可以拿来替换然后截图,达到嫁祸的目的。就算没做过都是有口难辩。
Constantinus1
    25
Constantinus1  
   2022-09-04 16:30:17 +08:00   ❤️ 1
真好啊
cnrting
    26
cnrting  
   2022-09-04 16:39:09 +08:00 via iPhone   ❤️ 105
这种未经用户同意私自 track 用户的行为在某些国家应该可以让公司破产甚至让相关人吃牢饭了,在国内你就偷着乐吧
jasonkayzk
    27
jasonkayzk  
   2022-09-04 16:43:45 +08:00
恶心
gorc
    28
gorc  
   2022-09-04 16:46:19 +08:00   ❤️ 1
我的方法是用画图保存为 256 色位图 bmp
oldshensheep
    29
oldshensheep  
   2022-09-04 16:46:39 +08:00   ❤️ 2
知乎的这个水印挺低级的, 说简单点其实就是大家常见的那个全屏水印,禁止复制禁止复制那种一直重复的。

图片做一个量化水印就没了
https://blog.oldshensheep.com/toyweb/dip/
选择图片然后设置 quantify 为 2 ,水印就没了。
oldshensheep
    30
oldshensheep  
   2022-09-04 16:49:22 +08:00   ❤️ 1
一般大家发图片网站可能会给压缩一下,很可能就把水印给呀没了。
Jaron0608
    31
Jaron0608  
   2022-09-04 17:03:05 +08:00   ❤️ 5
看起来可以通过分享的截图反查出帐号主页了,以后又能偷偷关注女神了🐶
buttenkill
    32
buttenkill  
   2022-09-04 17:12:43 +08:00
我已经陆续注销了知乎豆瓣逼里逼里,现在上国内网站都是游客模式
mikeven
    33
mikeven  
   2022-09-04 17:13:56 +08:00   ❤️ 9
温水已经烫了
bsfmig
    34
bsfmig  
   2022-09-04 17:15:24 +08:00   ❤️ 16
个人感觉可以基本判定最近几个平台加盲水印是政权意志了。多个平台一起实施同一个措施,很显然是政权强令平台实施激怒用户的做法的结果。
jiyan5
    35
jiyan5  
   2022-09-04 17:16:42 +08:00
需要注意,搞不好,因为这个进去,其他网站可能也有这个功能
cweijan
    36
cweijan  
   2022-09-04 17:19:39 +08:00
卧槽. .真狠啊, 老哥怎么发现的
cweijan
    37
cweijan  
   2022-09-04 17:21:23 +08:00   ❤️ 1
@oldshensheep 外网大多都是原图不压缩的. 主要肯定是用来捉发外网的.
chonger
    38
chonger  
   2022-09-04 17:28:06 +08:00
@buttenkill 以后不登录不给看~现在有些网站已经这样了,比如 nga
buttenkill
    39
buttenkill  
   2022-09-04 17:30:39 +08:00
@chonger 无所谓,本来也没有啥内容了
ChefIsAwesome
    40
ChefIsAwesome  
   2022-09-04 17:35:54 +08:00
琢磨出来这点子的程序员、产品,也不知道是留在国内得意,还是已经跑了。
mxT52CRuqR6o5
    41
mxT52CRuqR6o5  
   2022-09-04 17:37:30 +08:00 via Android   ❤️ 3
@cnrting google play 上的知乎版本也会有水印,不知道举报会不会有用
Jirajine
    42
Jirajine  
   2022-09-04 17:39:30 +08:00
@bigbyto 反过来说,通过替换别人 id 嫁祸的方式可以有效破坏这种水印的效力,当然推动取消的可能性不大.
paxol
    43
paxol  
   2022-09-04 17:40:01 +08:00
@ZhiyuanLin 不知前端有无方法可以屏蔽所有的 background 属性?这样哪怕以后插了频域水印也能一定程度上预防。
sparkpark
    44
sparkpark  
   2022-09-04 17:43:30 +08:00
不登录就不会有水印?盲猜下一步网页端不登录禁止查看
renmu
    45
renmu  
   2022-09-04 17:45:59 +08:00 via Android
微信压了图片还能有查到水印不
niru
    46
niru  
   2022-09-04 17:47:54 +08:00
archive.org 是好文明。
Jooooooooo
    47
Jooooooooo  
   2022-09-04 17:50:33 +08:00
不太理解公开平台的水印意义在哪...
lilyblx
    48
lilyblx  
   2022-09-04 17:51:56 +08:00
这水印是在什么位置的?我用手机电脑截图都没发现,是很小一个吗?
mxT52CRuqR6o5
    49
mxT52CRuqR6o5  
   2022-09-04 17:52:06 +08:00 via Android
对屏幕拍照只能说是已知的公开方法都无法顺利提取出水印,很难说是绝对安全的,还是二值化比较保险
kett
    50
kett  
   2022-09-04 17:52:43 +08:00   ❤️ 3
“道路以目”越来越近了
mxT52CRuqR6o5
    51
mxT52CRuqR6o5  
   2022-09-04 17:57:18 +08:00 via Android   ❤️ 8
@Jooooooooo 大翻译运动,就有可能抓到一些参与的人了
asen1987
    52
asen1987  
   2022-09-04 17:59:12 +08:00
@lilyblx #48 网页全屏水印,要登陆后截图才有,到 lz 贴的网站上去传一下就知道了
emonber
    53
emonber  
   2022-09-04 18:03:44 +08:00 via iPhone
如果是频域的水印就不容易检测出来了
HeyWeGo
    54
HeyWeGo  
   2022-09-04 18:07:01 +08:00 via Android
很好!
thatlazyman
    55
thatlazyman  
   2022-09-04 18:09:05 +08:00
知乎自己搞的? 还是上面的意思?
zhangfeideya
    56
zhangfeideya  
   2022-09-04 18:09:57 +08:00   ❤️ 1
好家伙,这就是 源宇宙。
SteveLi77
    57
SteveLi77  
   2022-09-04 18:11:14 +08:00   ❤️ 14
lilyblx
    58
lilyblx  
   2022-09-04 18:13:35 +08:00
测试走图床时的压图或者自压 webp 就看不到了
masker
    59
masker  
   2022-09-04 18:16:13 +08:00 via Android
快上红迪布告
novolunt
    60
novolunt  
   2022-09-04 18:19:10 +08:00   ❤️ 2
刚用网页版截了一下,用你的工具反转,并没有发现
retrace
    61
retrace  
   2022-09-04 18:23:02 +08:00   ❤️ 5
哎呀,这么麻烦干什么,直接用户名改成显示身份证号+户籍地址不就行了吗?
haha512
    62
haha512  
   2022-09-04 18:25:04 +08:00
@novolunt 点击图片上方 左右箭头的右侧箭头,不断点击,图片会相应变化,有 3 中效果下会显示水印
louzhichen
    63
louzhichen  
   2022-09-04 18:26:50 +08:00   ❤️ 5
一个不成熟想法:用 archive.org 保存网页然后再截 archive 的图片
chonger
    65
chonger  
   2022-09-04 18:33:26 +08:00
问题在于搞这种水印就是要登录才有用,不登录就能看就能截图那搞水印有毛用?那么下一步强制登录才能看内容就是必然的了。
darer
    66
darer  
   2022-09-04 18:35:44 +08:00
@oldshensheep 我试了下还是在的
treblex
    67
treblex  
   2022-09-04 18:39:02 +08:00
手机好像没复现,iphone ,截图和分享长图都没有,左侧有个看不太清的色块疑似二维码
ChriskurtDave
    68
ChriskurtDave  
   2022-09-04 18:46:41 +08:00
那就只有拍照咯
levelworm
    69
levelworm  
   2022-09-04 18:47:38 +08:00 via Android
@Zeonjl 6
求问手机拍照能解决这个问题吗
Andreas8
    70
Andreas8  
   2022-09-04 18:48:10 +08:00   ❤️ 3
头像很棒👍
pcitme
    71
pcitme  
   2022-09-04 18:52:42 +08:00
真的假的 为啥我截图没有看到水印?
novolunt
    72
novolunt  
   2022-09-04 18:54:25 +08:00
@pcitme 我是 60 楼,有水印,一串 hash
模式转成 Blue Plane 0 ,很明显。
oldshensheep
    73
oldshensheep  
   2022-09-04 18:54:30 +08:00   ❤️ 3
@darer 指的是压缩还是量化呢,压缩的话要选有损压缩,压缩也和算法有关
我这里量化是消除了的,压缩(95%质量)还有痕迹。
ZhiyuanLin
    74
ZhiyuanLin  
OP
   2022-09-04 18:58:46 +08:00 via iPhone
@chonger #64 记得豆瓣的水印,未登陆显示 IP ,登陆显示 UID ,知乎目前不登陆就没有。
Jirajine
    75
Jirajine  
   2022-09-04 18:59:27 +08:00   ❤️ 1
上面说拍照的,就不怕国产相机应用 /firmware 甚至国内厂商生产的相机硬件都会在图像输出中添加盲水印包含硬件 ID 等可溯源信息?
darer
    76
darer  
   2022-09-04 19:01:35 +08:00
@oldshensheep 截的是热榜的界面 用的是 quantify 2 ,我记得量化就属于有损压缩(的步骤之一)吧
中间的隐水印不见了 侧边的还在
starrys
    77
starrys  
   2022-09-04 19:02:47 +08:00
@pcitme
要登录知乎再截图,然后上传到楼主上传的网站,切换模式,会有一个或几个模式能够看到水印,水印内容是 32 位“用户 ID”、“时间戳”,将“用户 ID”使用 OCR 识别或者手抄出来,使用下面的 URL 模式就可以跳转到用户主页:
https://www.zhihu.com/people/<用户 ID>
oldshensheep
    78
oldshensheep  
   2022-09-04 19:14:50 +08:00
@darer

"我记得量化就属于有损压缩(的步骤之一)"

是的,因为我这个量化是比较简单的映射,再者设置的量化级别不高,2 种颜色差别太大便没有合在一起。
如果增大量化级别,或者用其他映射方式也可以很容易去除水印。
yolee599
    79
yolee599  
   2022-09-04 19:25:55 +08:00 via Android   ❤️ 8
最好的办法就是只看不发言,这种东西它在暗处你在明处,防不胜防的,你以为你发现了它的水印,去掉就行,可能还用了几套方案,还有的水印你没发现的呢。
kgloveyou
    80
kgloveyou  
   2022-09-04 19:26:10 +08:00
@ZhiyuanLin undefined ,怎么回事?
galenzhao
    81
galenzhao  
   2022-09-04 19:31:33 +08:00
我有个 。。。想法。
直接在 txt 中插入特殊字或符号。。。
像语气词,逗号句号这种
也不会影响语义
levenwindy
    82
levenwindy  
   2022-09-04 19:34:32 +08:00 via Android
沉默变“哑巴”,喜迎 2 个凡是
kgloveyou
    83
kgloveyou  
   2022-09-04 19:38:48 +08:00
网页看到了,app 没找见
ZhiyuanLin
    84
ZhiyuanLin  
OP
   2022-09-04 19:44:03 +08:00 via iPhone
@kgloveyou #79 Firefox 的 DOM 不太一样,怀疑你是用 Firefox ,或者有其他修改 DOM 的脚本。
cwcauc
    85
cwcauc  
   2022-09-04 19:48:38 +08:00 via iPhone
@kgloveyou +1 我这边知乎、豆瓣和钉钉 app 都看不到
skyblond
    86
skyblond  
   2022-09-04 20:06:34 +08:00
搞了半天都测不出来,最后灵光乍现:如果内容是账户 id 相关的,我是不是得先登陆啊

开了个隐私窗口,登录、截图,立马就看见了 hhh
darknoll
    87
darknoll  
   2022-09-04 20:07:57 +08:00
香港存储卡都要实名认证了
alvazu
    88
alvazu  
   2022-09-04 20:15:24 +08:00   ❤️ 1
@SteveLi77 这个脚本有用吗?我这里用 injectscript+Safari ,依然能看到水印。
SteveLi77
    89
SteveLi77  
   2022-09-04 20:30:52 +08:00
@alvazu #88 我这边 edge+tampermonkey 可以用,如果用不了可以试试#19 的 uBlock Origin 的方法
coolzjy
    90
coolzjy  
   2022-09-04 20:36:53 +08:00   ❤️ 12
写了油猴脚本,可以检测并提示类似实现的页面水印。
https://greasyfork.org/zh-CN/scripts/450741-detect-watermark
https://imgur.com/a/kXrwQVq
nazunaniito
    91
nazunaniito  
   2022-09-04 20:39:24 +08:00   ❤️ 1
大局域网的又一块拼图
docx
    92
docx  
   2022-09-04 20:51:29 +08:00 via iPhone
不登陆似乎没有水印?
但感觉后续会变成不登陆就不给使用了
litesoar
    93
litesoar  
   2022-09-04 21:01:53 +08:00
好隐蔽。
james2013
    94
james2013  
   2022-09-04 21:03:49 +08:00 via Android
太恶心了
以前豆瓣也爆出有隐藏水印
shinsekai
    95
shinsekai  
   2022-09-04 21:13:31 +08:00
谁能发个图看看效果?没知乎号
v2tudnew
    96
v2tudnew  
   2022-09-04 21:15:35 +08:00
知乎大量内容需要 VIP 才能查看,或许是这个原因搞的?
wolfie
    97
wolfie  
   2022-09-04 21:17:58 +08:00
之前豆瓣被爆出来过,被骂给去掉了。
KIzuN1
    98
KIzuN1  
   2022-09-04 21:18:04 +08:00   ❤️ 1
FozillaMox
    99
FozillaMox  
   2022-09-04 21:20:17 +08:00
@alvazu 大概率跟 Safari 有关。我记得 Safari 对于 zhihu.com 站点上的第三方脚本不会执行,参考这个:
FozillaMox
    100
FozillaMox  
   2022-09-04 21:20:45 +08:00
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   984 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 20:33 · PVG 04:33 · LAX 12:33 · JFK 15:33
Developed with CodeLauncher
♥ Do have faith in what you're doing.