是否有任何编程方式可以安全地检查 epub 文件是否受 DRM 保护(加密)?
我发现 META-INF 目录中可能有一个 rights.xml 和一个 encryption.xml。这些文件中的任何一个或两个的存在是否意味着内容已加密,如果没有,是否有任何其他方法可以检查?
(需要说明的是,我根本不想使用 DRM 阅读 ePub,我只想检查它们是否被加密。)
FWIW 维基百科 epub 文章状态
如果存在,DRMed EPUB 文件必须在 ZIP 容器的根级别的 META-INF 目录中包含一个名为 rights.xml 的文件。
据报道,从 v1.0 开始的 epubcheck 会通过 encryption.xml 的存在来检测 DRM 保护并报告错误。epub3规范说
容器文件系统根级别的 META-INF 目录中的可选 encryption.xml 文件包含有关容器内容的所有加密信息。此文件是一个 XML 文档,其根元素是加密。加密元素包含由 [XML ENC Core] 定义的 EncryptedKey 和 EncryptedData 类型的子元素。每个 EncryptedData 元素描述了容器内的一个或多个文件是如何加密的。因此,如果容器内的任何资源被加密,则必须存在 encryption.xml 以指示资源已加密并提供有关如何加密的信息。
EPUB3 在 rights.xml 上含糊不清,它的含义以及它是否对 DRM 文件是强制性的,所以最好不要依赖它。