跳转至

隐形字符检测

为什么文字里会有看不见的东西

文件外流追踪

机构要发一份文件给二十个人,于是准备二十份副本,每一份在不同的位置插入不同组合的零宽字符。内容看起来完全一样,打印出来也一样,复制粘贴到别的地方那些字符还是跟着走。文件外流之后,比对一下就知道是哪一份流出去的。

这不是假想的手法。要转发手上的文件之前,先扫一遍。

钓鱼网址

аpple.comapple.com 看起来一样,前者的第一个字母是西里尔文的 а。域名注册商对这件事的防范不一致,而人眼分辨不出来。

代码里的方向覆写

在源代码里放一个右至左覆写字符,人在编辑器里看到的顺序跟编译器读到的可以完全不同。注释看起来包住了一段代码,实际上没有。这类手法有个名字叫 Trojan Source。

误判是这个工具最需要小心的地方

不是所有隐形字符都有问题。

👨‍👩‍👧 这个 emoji 是三个 emoji 用两个零宽连字接起来的,那些连字非有不可。变体选择器是 emoji 的一部分。阿拉伯文与希伯来文本来就需要方向标记。整段俄文里的 а 就只是俄文。

全部报成可疑的话,这个工具会变成狼来了,看几次之后就没有人看了。所以它分两级:橙色是不必看语境就可疑的,灰色是要看前后才知道的。emoji 里的连字、有 RTL 文字时的方向标记,都不会被报成可疑。

测试里有一整组案例守着这件事,跟「抓得到」那组一样多。

清理

两个按钮。一个只清可疑的那些,emoji 保持完整。另一个清掉所有看不见的字符,那会把 emoji 家族拆散,但如果你要的是一份绝对干净的文字,那个比较保险。

同形字不会被自动换掉。那是可见的字,换掉会改变原意,而你可能正在处理一段真的俄文。工具只标出位置与它长得像哪个拉丁字母,换不换由你决定。

离线可用

跟这一区其他工具一样,程序存进设备之后没有网络也能用。你贴进来的可能正是不想外流的东西,所以这一页没有任何网络请求,也不把文字写进任何存储。断网时照样可以用,那是最直接的证明。

要把这一页带着走,见离线阅读