.maipdf 文件 + 系统级拒绝截屏 + 交付后仍可吊销

MaiPDF App DRM

iOS · Android · Windows · macOS · 加密 .maipdf 文件 + 系统级拒绝截屏 + 交付后仍可吊销

这份文档讲的是三条产品线里保护最强的一条:App DRM 。前两条(在线分享、Secure Share)都跑在浏览器里,而浏览器从根本上无法拒绝系统截屏 ------ 这是 App DRM 存在的理由。

一句话概括:文件本身成为保护措施 。PDF 被加密成一个 .maipdf 包,只能在 App 里打开,只能在你允许的设备上、在你允许的时间内打开,而且 App 会要求操作系统直接拒绝截屏

图 1:App 首页 ------ 打开收到的受保护文件,或保护自己的文件

一、三个部件,各管一件事

理解这三样东西分别干什么,就很容易想清楚它的能力边界在哪。

① 容器:加密的 .maipdf 文件

你的 PDF 在离开你的电脑之前 就用 AES-GCM 256 位 加密好了。这个包里装着:许可证 ID、验证服务器地址、初始化向量,以及密钥的一半另一半永远不会跟着文件走。

明文 PDF 从不写入读者的硬盘 ------ 每次打开都是在 App 内存里解密。所以把这个文件转发给别人,转发出去的是一个上了锁的盒子,不是文档本身。

② 许可证:每次打开都验

打开次数、有效期、设备上限这些规则存在服务器上,不在文件里 ------ 这就是为什么它们在文件交付出去之后依然生效。

这也是「吊销」能真正生效的原因 :你切断访问权限,下一次打开就会失败,哪怕这个文件已经躺在别人的笔记本电脑上了。被吊销的读者会看到一条明确提示,说访问权限已被发送方收回。

③ 阅读器:拒绝被捕获

App 窗口在操作系统层面 被标记为受保护,所以截屏或录屏拿到的是黑屏 ------ 不是事后警告,是当场就拿不到。

阅读体验本身不受影响:页面完整清晰可见,没有任何遮挡物在中间晃 。每一页都带一个无法关闭的可追溯水印。

二、防截屏:四个平台,四套原生机制

这是浏览器根本做不到 的部分。网页没有任何办法拒绝系统级的截屏快捷键(比如 Windows 的 Win+Shift+S);而原生窗口可以要求操作系统把自己整个排除在捕获之外

|-------------|-------------------------------------------------------|
| 平台 | 实际使用的机制 |
| Android | 窗口设置 FLAG_SECURE |
| Windows | 通过 SetWindowDisplayAffinity 设置 WDA_EXCLUDEFROMCAPTURE |
| macOS | 窗口的 sharingType 设为 none |
| iOS | 内容通过一个系统会排除在捕获之外的图层渲染 |

【关键区别】 这些是操作系统自己提供的能力,不是 App 在「检测」截屏然后做反应。所以第三方截屏工具、录屏软件撞的是同一堵墙。

挡不住什么(老实说)

  • 拿相机对着屏幕拍。 没有任何软件能防住这个 ------ 这恰恰是水印不允许关闭的原因:拍照拍下来的画面里,水印也在
  • iOS 上正在录屏或投屏时,App 会把页面对读者本人也遮住,而不是让它继续显示在投屏画面上
  • 需要读者装 App。 所以它适合高敏感度文件,不适合随手分享的场景

敌意环境直接拒绝运行

App 启动时会做设备完整性检查 ,在这些环境下根本不加载 :越狱设备、已 root 的设备、模拟器;桌面端还包括虚拟机等可疑环境。原因很直接 ------ 这些正是防截屏机制可能被绕过的地方

三、保护一份 PDF:打包时定规则

所有规则都在打包时决定,加密在你自己的设备上完成,然后才上传

图 2:DRM 主界面 ------ 创建受保护文件、打开文件、管理许可证、追查泄露

可以设置的规则

|------------|-------------------------------------------------------------------------------|
| 规则 | 可选值 |
| 最大打开次数 | 1 以上任意数字,或不限 |
| 有效期 | 1 天、7 天(默认)、30 天,或自定义时长 |
| 受众 | 开放给任何持有文件的人,或按邮箱指定收件人 |
| 设备上限 | 开放受众时 = 这个文件的总设备数 上限(服务端天花板 10,000);指定收件人时 = 每个收件人各自的设备上限(每人最多 100 台) |

收件人邮箱可以直接粘贴,换行、逗号、分号、空格分隔都行 ------ 系统会自动去掉首尾空格、转成小写、去重。

【说明】没有水印开关,也没有批量上传 :一次一个文件,并且永远带水印。这是刻意的设计。

四、许可证页面:交付之后的控制台

每一个受保护文件都有一个许可证页面。这里就是一份已经送出去的文档继续受你控制的地方。

图 3:许可证详情页 ------ 次数、设备、有效期、打开记录一览

页面上能看到和能改的

  • 打开次数 ------ 已用和剩余,实时计数
  • 设备上限有效期
  • 创建时间最后阅读时间
  • 设备绑定 ------ 哪些设备打开过它,还有一个可以补充授权邮箱的输入框
  • 打开事件 ------ 谁打开的、什么时候、用哪台设备
  • 复制许可证 ID ,以及在你想让它停下来的时候吊销

没登录也能管

许可证查询框接受许可证 ID + 修改码的组合 ------ 跟网页版那边「阅读码 + 修改码」是同一个思路。

五、追查泄露:照片之后唯一还起作用的手段

每一页都带一层很淡的平铺编码,和那一次打开的许可证与设备绑定 。如果某一页被拍了照、又出现在了不该出现的地方,那串编码也在照片里

图 4:Trace watermark ------ 输入泄露截图上的编码,查出是谁打开的

怎么用

  1. 从泄露的截图或照片上读出那串编码
  2. 在 App 的 Trace watermark 里输入它
  3. 已登录 → 在你名下所有许可证里搜;未登录 → 用许可证 ID + 修改码代替
  4. 得到结果:读者、时间、以及那一次打开用的设备

【关键】 水印是按每次打开生成 的,所以同一份文件的两个读者 ------ 甚至同一个读者打开两次 ------ 拿到的编码都不一样。这意味着你定位到的不是「哪个文件泄露了」,而是「哪一次打开泄露的」。

六、App DRM 和在线分享怎么选

它们是两条不同的路线,不是同一个东西的两个版本。 大多数人两个都在用,只是用在不同的文档上。

|--------|-------------------------------------------|-----------------------------------|
| | 在线分享(浏览器链接) | App DRM(App 里的加密文件) |
| 读者要做什么 | 点链接就读,什么都不用装 | 需要装 App ,然后打开文件 |
| 能设的规则 | 打开次数、有效期、邮箱或短信验证、访问记录、可替换文件 | 打开次数、有效期、设备绑定、指定收件人、交付后可吊销 |
| 截屏 | 挡不住 ------ 浏览器没有这个能力,水印让截图可追溯 | 系统级拒绝 ,截出来是黑屏 |
| 最适合 | 覆盖面 ------ 提案、宣传册,以及任何发给「你没法要求他装软件」的人 | 控制力 ------ 高敏感度文件,值得让对方装个 App |

【选型】 选择的判断标准其实很简单:你能不能要求对方装一个 App?
能 ------ 且文件确实敏感,用 App DRM。
不能 ------ 用在线分享,接受「挡不住截屏、但能追溯」这个现实。

七、诚实的限制

和任何单一控制手段一样,它只是一层 。真正的做法是把它和打开次数上限、有效期、水印线索叠加使用,而不是指望某一个开关解决所有问题。

  • 相机拍屏幕防不住 ------ 所以水印不允许关闭
  • 需要读者装 App ------ 这本身就筛掉了一部分场景
  • 读者必须能联网 ------ 每次打开都要向服务器验证许可证

本文档内容依据 MaiPDF App 实际功能整理,配图为 App 真实截图。如有疑问:joe@pdfhost.online

相关推荐
一次旅行30 分钟前
2026‑09‑01 AI产业深度解读|AI安全体系化升级、算力转租模式兴起、多模态模型持续开源
人工智能·安全·开源
芯盾时代8 小时前
《金融业网络安全管理办法(征求意见稿)》全条款深度拆解(二)
安全·web安全·网络安全
web打印社区8 小时前
网页静默打印热敏小票:从 HTML 到出纸的完整指南
前端·javascript·vue.js·electron·pdf·html
yunlong32671 天前
吊车选型与载荷计算:避开4个坑,安全吊装不再难
安全·方案·事故·吊装·起重·吊装重量·吊装半径
IT大白鼠1 天前
MSF二次开发与自定义模块编写
网络·安全·web安全·msf
Flynt1 天前
1200个AI Agent自己组了个群,把Hugging Face黑了
安全·openai·agent
Acrel12342 天前
筑牢用电安全防线,ARCM300 守护低压配电消防安全
安全
xiaoqiMikko2 天前
一条 CVSS 9.0 的 RCE,advisory 里没写修复版是哪个 —— fastjson 16723 的字段考古
java·安全
木卫四科技2 天前
当车机被“出租”:DoFun 更新器投毒链如何把 Android Head Unit 变成 BADBOX 代理节点
安全·汽车·木卫四