如何从ePub文件中移除DRM?

我想要移除几本电子书的DRM保护,只是为了个人使用(因为它们被锁住了,无法阅读)。它们受到Adobe ADE DRM的保护。
在互联网上有很多方法可以达到这个目的,但大部分都已经过时了。是否有一种简单而有效的方法呢?

1关于“这样的问题或答案可以吗”的讨论在一段时间前在这里进行了:http://meta.askubuntu.com/questions/2971/copyright-and-morality-in-questions。这个问题本身并没有超出范围。另一方面,它是一个软件推荐的问题,所以你可能因为这个原因而被投下票。有些人对软件推荐的问题持反对态度。 - RobotHumans
4个回答

这是我找到的最简单的方法:
1. 使用winetricks安装Adobe Digital Editions ``` winetricks adobe_diged ```
2. 在与Adobe Digital Editions相同的wine前缀中下载并安装ePUBee ``` $ cd ~/Downloads $ wget http://download.epubee.com/ePUBeeePUBDRMRemoval.exe $ WINEPREFIX=~/.local/share/wineprefixes/adobe_diged/ wine ePUBeeePUBDRMRemoval.exe ```
3. 启动Adobe Digital Editions并登录您的Adobe帐户
4. 添加受DRM保护的图书,并等待它们变得可读(解密)
5. 运行ePUBee。它应该自动解密添加到Adobe Digital Editions的任何文件到`~/.local/share/wineprefixes/adobe_diged/drive_c/users/${USER}/Application\ Data/decrypt/`
6. 使用Calibre或您喜欢的ePUB管理工具将ePUB文件传输到您的阅读器上

3这种方法还有效吗?因为ADE 1.7和下载服务器的兼容性有问题。希望是的,因为这个方法似乎比我的答案更简单方便。 - Rewarp
1第5步对我没有起作用,所以我在calibre的DeDRM插件中使用了~/.local/share/wineprefixes/adobe_diged/drive_c/users/${USER}/Application Data/magic_keys中的密钥。 - Ferroao

简单的回答是不可以。要去除电子书的DRM,有一个复杂的过程,但是是可能的。
您需要安装calibre,并单独获取DRM去除插件。为了将您的密钥从Adobe导入到Calibre电子书阅读器中,您需要使用Wine安装Adobe Digital Editions (ADE)。
按照DRM去除插件中的说明进行设置。
更新1:ADE 1.7在Wine中不再正常工作。尝试将电子书下载到其中都会失败。只有2.0.1版本与这种去除DRM的方法兼容,并且在Wine中正确设置它仍然相当困难。
更新2:如果您合法拥有电子书设备,这里提供的DeDRM工具使用起来更加简单。我在Kobo和亚马逊电子书商店购买或拥有的图书可以通过DeDRM软件包中的插件进行处理,因为它们依赖于设备ID来解除DRM保护。不再需要安装ADE。下载的文件中包含针对您设备的特定步骤。

谢谢你的回复。实际上,我尝试过这种方法,但是我无法使用Ubuntu 14.04仓库中的Wine安装ADE 3.0或2.0。有什么建议吗? - ed0
看起来ADE对安装平台比较挑剔(你需要使用32位前缀),还需要安装一些Windows的dll文件。看起来Adobe仍然相当忽视整个Linux社区的存在。http://appdb.winehq.org/objectManager.php?sClass=version&iId=30159 - Rewarp
3我成功地通过安装ADE的1.7版本使其正常工作。但是,折腾2.0和3.0版本真的不值得。 - Rewarp
2这对我有用:winetricks adobe_diged。它会将ADE 1.7.2安装到WINEPREFIX的~/.local/share/wineprefixes/adobe_diged目录下。 - bmaupin
@bmaupin 不要忘记先执行 sudo apt-get install winetricks :) - BenB
为什么不直接链接到DeDRM的实际下载页面呢? - Shelvacu
我已经更新了GitHub页面的URL,并且还有关Wine上ADE 1.7状态的最新消息。我最初的意图是提供一个附加信息的页面,但是考虑到所有相关的指示都可以在压缩文件中找到,我现在已经将URL更改为GitHub页面。 - Rewarp
ADE 4.15能够通过winetricks -q dotnet40安装并运行,并且遵循这些说明(不包括手动dotnet35的安装):链接 - redfish

其他的答案已经不再适用(或者对我来说没有用)。不幸的是,让它工作起来很复杂,并且会占用5GB的空间。 然而,这是我让它工作的方法。我希望我包含了所有的步骤。它会安装ADE 2.0.1。
注意:wine1.7和winetricks存储库中的版本无法成功安装dotdeb(ADE 2.0.1所需),所以我安装了最新的winetricks和wine。
  • Winetricks repo - winetricks
    • 我使用whereis winetricks找到它,并将下载的winetricks移动到该位置(例如/usr/bin/winetricks
  • Wine2.0 - guide
    • 在安装新版本之前,请先删除您当前的Wine版本
    • sudo add-apt-repository ppa:ricotz/unstable
    • sudo apt-get update && sudo apt install wine-stable

安装ADE 2.0.1

我使用了这个指南 (部分内容在这里复制)


要下载的文件

步骤
  • WINEPREFIX=~/.adewine WINEARCH=win32 wineboot
  • export WINEPREFIX=$HOME/.adewine/
  • winetricks -q windowscodecs && winetricks -q corefonts
  • wine ~/Downloads/dotnetfx35setup.exe # 需要一段时间
  • wine ~/Downloads/ADE_2.0_Installer.exe

此时,您应该打开ADE并登录以授权它允许calibre在稍后获取您的密钥。

WINEPREFIX=$HOME/.adewine/ wine ~/.adewine/drive_c/Program\ Files/Adobe/Adobe\ Digital\ Editions\ 2.0/DigitalEditions.exe

安装Python和Pycrypto以供Calibre使用

用于去除Calibre数字版权管理的脚本建议使用Python2.7,但Python2.6似乎也可以使用。 对我来说,有一个错误,即Wine无法找到python.exe并出现以下错误:

wine: cannot find L"C:\\windows\\system32\\python.exe"

我通过链接解决了这个问题。


安装Python26
  • export WINEPREFIX=$HOME/.adewine/
  • winetricks python26
  • cd ~/.adewine/drive_c/windows/system32 && ln -s ../../Python26/python.exe ./; cd -

安装Pycrypto

安装calibre和drm插件


安装calibre
  • sudo apt-get install calibre

    安装DeDRM calibre插件
  • 从此repo下载DeDRM_tools

  • 将zip文件中的DeDRM_calibre_plugin目录解压到任意位置
  • 打开Calibre并进入:Preferences -> Plugins -> Load Plugin from file -> 选择从你刚才解压的目录中选择DeDRM_plugin.zip.

配置DRM插件

  • 在插件(之前的)中搜索 drmDeDRM
  • 选择 自定义插件 -> Adobe Digital Editions 电子书
  • 在 WINEPREFIX 中输入 /home/你的用户名/.adewine # 用你的用户名替换 YOURUSERNAME :)
  • 选中绿色加号,给密钥命名

测试

  • 通过打开 .ascm 文件(或将其拖入其中)将一本书下载到 ADE。您可以通过运行 WINEPREFIX=$HOME/.adewine/ wine DigitalEditions.exe 打开 ADE。

  • 运行 Calibre,并从 ~/Documents/My Digital Editions/bookname.epub 添加一本书


在Ubuntu 18.04上对我有用,但在Ubuntu 19.04上配合Wine 4却无效。DotNet拒绝安装,并显示您必须在控制面板中使用"打开或关闭Windows功能"来安装或配置Microsoft .NET Framework 3.5 SP1 - nachtigall
在应用程序选项卡中将winecfg设置为Windows XP(而不是Windows 7),安装了DotNet。ADE也已安装,但在启动时出现错误:由于无法加载文件或程序集'PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'或其依赖项之一,无法加载入口点方法。程序集:PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 类型:<未知类型> 成员:<无>。我放弃了。幸运的是,使用Lutris可以解决问题,所以我根据上述情况添加了一个新答案。 - nachtigall
使用ADE 4.5取得成功,Python 3.4版本通过msi 32位安装程序安装,PyCrypto 2.6.1版本通过wheel工具安装,以及DeDRM 7.2版本。 - redfish
我现在使用安装了ADE 2.0.1的Windows 10虚拟机。这样我就可以稳定地下载epub文件。然后,我将加密的epub文件拖放到Ubuntu上的Calibre中进行"去DRM"处理,然后继续进行其他操作。 - Miati

Miati的回答指南在Ubuntu 18.04上对我有用。但是在一个新的笔记本电脑上,使用19.10和Wine 4,尽管尝试了几个小时,我仍然无法让它工作。

我认为这是因为Adobe Digital Editions 2.0.1和DotNet 3.5需要32位Windows XP,我不确定,但总体来说非常复杂...

但是后来我找到了另一种更加简单和快速的方法:使用Lutris安装Adobe Digital Editions(简称ADE)!

步骤如下:

1. 安装Lutris: https://lutris.net/downloads/ 2. 通过简单的鼠标点击使用Lutris安装ADE 2.0.1: https://lutris.net/games/adobe-digital-editions/ (这将自动安装所有依赖项,如dotnet 3.5、corefonts、windows codecs等 - 如此轻松) 3. 启动并打开你的第一个*.acsm文件,该文件来自你的图书馆或类似地方。ADE将要求你进行注册(这是创建密钥的方式)。 4. 在Lutris为ADE应用程序创建的WINEPREFIX中安装Python 2.7(用于下一步中的PyCrypto):
a. 从https://www.python.org/downloads/release/python-2717/下载 b. 使用WINEPREFIX=/home/YOUR_USERNAME/Games/adobe-digital-editions wine start Downloads/python-2.7.17.msi进行安装。这里的/home/YOUR_USERNAME/Games/adobe-digital-editions是Lutris创建的WINEPREFIX。将YOUR_USERNAME更改为你的用户名。
5. 安装PyCrypto:
a. 从http://www.voidspace.org.uk/python/modules.shtml#pycrypto下载 b. 使用WINEPREFIX=/home/YOUR_USERNAME/Games/adobe-digital-editions wine Downloads/pycrypto-2.6.win32-py2.7.exe进行安装。再次将YOUR_USERNAME更改为你的用户名。
就是这样。至于设置Calibre和DeDRM插件,请使用Miati的回答
随着时间的推移,始终关注Wine AppDB for ADE 2.0.1。这就是我发现使用Lutris的方法。