EPUB 本质上是一个 zip 压缩包。它是否被加密锁定取决于内部的两个小文件——而其中一个常常让绝大多数检测工具产生误判。本文教您如何自行查看这些文件,或使用无需上传电子书的浏览器端工具进行安全检测。
案例 #001 — 快速总结 (TL;DR)
EPUB 是重命名后的 zip 压缩包。解压并查看 META-INF 文件夹:若存在 rights.xml 则表明带有 Adobe DRM 保护;若 encryption.xml 加密了除字体之外的任何内容,则表明带有 DRM 保护。
仅凭 encryption.xml 的存在并非确凿证据。若其中所有条目均采用 IDPF 或 Adobe 字体混淆算法,则该书并未锁定,可以在任何标准阅读器中正常打开。
Calibre 同样可以识别:尝试转换该书,若受 DRM 保护,Calibre 会立即中断并弹出“此书已被 DRM 锁定”的错误提示。
最快捷的途径:将文件拖入 GemReader 的免费网页端检测工具,它会在您的浏览器本地读取文件,绝不向任何服务器上传您的电子书。
最终结论
如果 EPUB 内唯一被加密的资源是字体,这并不是 DRM 保护——书籍可以正常打开阅读。如果内容文档被加密,或者存在 rights.xml,则属于 DRM 保护,任何第三方开源阅读器均无法直接打开。以下内容将详细介绍如何准确区分二者。
为什么“文件打不开”不能直接作为依据
许多读者之所以怀疑 EPUB 带有 DRM,是因为阅读器报错拒绝打开。但阅读器报错可能由多种原因引起:损坏的 zip 容器、流式排版应用无法解析固定版面、旧版应用不支持 EPUB 3 的新规范特性等。无论底层原因是什么,阅读器往往只会抛出通用的“无法打开此书”错误。
DRM 具有其独特的数字指纹,您在一分钟内即可完成排查。查明原因后,您就能明确问题是出在阅读器兼容性上,还是需要获取无锁副本。
方法 1:解压并查看 META-INF 目录
复制该文件,将副本后缀名由 .epub 修改为 .zip 并解压。每个合规的 EPUB 顶层都包含一个 META-INF 文件夹,这里正是 DRM 配置文件的所在之处。
查找 META-INF/rights.xml。如果该文件存在,说明该书采用了 Adobe ADEPT DRM 保护——这是通过 Adobe Digital Editions 分发的大多数电子书商采用的方案。只有登录了购买账户的 Adobe 授权软件才能打开它。
接着查看 META-INF/encryption.xml。如果该文件不存在,说明书中没有任何加密内容,答案是没有 DRM。如果存在,请在文本编辑器中打开它。它列出了每个加密文件及其使用的算法(形式如 EncryptionMethod Algorithm="...")。算法决定了一切,这也正是常见误区的所在。
常见误区:encryption.xml 并不一定代表 DRM
出版商在电子书中嵌入商用字体时,通常受字体版权许可协议约束,必须对字体进行混淆处理(obfuscation),以防止字体文件被直接从 zip 中提取。EPUB 规范专门为此提供了两种标准算法:http://www.idpf.org/2008/embedding 与 http://ns.adobe.com/pdf/enc#RC。二者都会出现在 encryption.xml 中并标注为 encrypted,但均未锁定正文内容。
如果文件中的每个 EncryptionMethod 都采用上述两种算法之一,且所有 EncryptedData 条目都仅指向字体文件,那么该书属于无 DRM 的自由图书。任何标准阅读器都能打开它,并根据规范自动还原字体。
几乎所有简陋的在线 DRM 检测工具都忽略了这一区别。它们一看到 encryption.xml 就武断地判定书籍被锁定,导致读者徒劳地寻找根本不需要的“无锁副本”。只有当加密算法为 AES 或其他非标准厂商 URI,且正文 XHTML 文档本身被加密时,才是真正的 DRM 锁定。
方法 2:利用 Calibre 进行转换检测
如果您电脑上已安装 Calibre,将该书添加到书库中并尝试将其转换为任意格式。Calibre 会在转换前全面检查容器,若图书受保护,会立即中断并报错提示“This book is locked by DRM”。若转换顺利运行,则图书绝无 DRM 保护。
这种方法对 Adobe ADEPT 和常规正文加密极为可靠,且 Calibre 能够准确忽略合法的字体混淆。缺点是需要使用电脑、导入书库并执行转换操作。
方法 3:使用本地运行的浏览器端检测工具
GemReader 提供了免费的网页端检测工具,可自动为您完成 META-INF 的深度检查。将 EPUB 拖入页面中,浏览器本地的 JavaScript 会即时读取 rights.xml 与 encryption.xml;文件绝不会被上传到网络。在页面加载完成后即使断开网络,检测也能照常进行。
工具会准确报告三种不同状态——无 DRM、仅包含混淆字体,或正文受加密保护——从而彻底规避字体误判问题。它还会顺带检测导致“无法打开”的其他非 DRM 因素:固定版式、EPUB 版本、表单字段与脚本嵌入等。
该页面同时支持 PDF 与 Kindle 文件检测,后者的 DRM 结构有所不同。
Kindle 与 PDF:相同的问题,不同的特征指纹
Kindle 文件(.azw, .azw3, .mobi, .kfx)不使用 encryption.xml。MOBI 文件头中包含一个 encryption-type 字段:0 代表无保护,1 或 2 代表 Amazon DRM。由亚马逊直接推送到已注册设备的书籍几乎均为类型 2,只有购买账户下的 Kindle 应用才能打开。
PDF 则具有两种不同性质的保护。用户密码(User Password)会彻底阻止文件打开,没有密码任何阅读器都无法访问。所有者密码(Owner Password)允许正常打开阅读,仅限制打印或复制文本——绝大多数受保护的学术 PDF 属于此类,在任何阅读器中均可顺畅阅读。如果您的 PDF 无需输入密码即可打开,那么它在实际阅读意义上就是无锁的。
确认带有 DRM 保护后该怎么办?
首先检查售卖平台。许多出版商和独立电子书店会在商品页面提供无 DRM 版本的下载链接。Humble Bundle、Leanpub、Smashwords、Baen、Tor 以及大多数独立出版机构默认提供无 DRM 的 EPUB。
对于公版经典图书,Standard Ebooks 和 Project Gutenberg 提供排版精美、完全没有加密的标准公版 EPUB。
如果图书已被加密锁定且平台不提供无锁副本,它将只能在官方授权应用中阅读。去除 DRM 在多数司法管辖区属于法律灰色地带,GemReader 不提供任何破解功能。
在无锁环境中享受纯粹阅读与学习
一旦检测确认无 DRM 保护,该书即可在 GemReader 中流畅开启。这是一款专为深度学习打造的免费 Android 阅读器:随读随划、标注自动转记忆卡、完全离线且无账户绑定。立即下载并将 EPUB 直接导入手机开始阅读。
Try it yourself
Related guides