我想知道如何从 Kindle 电子书中去除 DRM。我想从亚马逊购买一本 Kindle 电子书。我会去除 DRM,并将其转换为 Epub(这样我就可以通过连接到 iPhone 的耳机收听)和 PDF 格式(这样,在收听的同时,我可以使用基于 Ubuntu 的发行版在 PDF 阅读器(Okular)中跟踪故事,并为这本书添加注释)。
我花了一个小时寻找用于剥离 DRM 的软件,但只找到了一些内容看起来没有帮助或我不信任的网页链接。
答案1
答案2
我不会去讨论删除 DRM 的合法性,因为这在不同国家有所不同 —— 在一些国家这属于合理使用,在另一些国家情况比较模糊,而在另一些国家这显然是非法的。
在 Ubuntu 18.04 上,以下步骤对我有用。
使用包管理器安装必要的程序
sudo apt-get install wine64
sudo apt-get install calibre
# sudo apt-get install winetricks # this is optional — see below
下载其他必要程序
DeDRM 插件
wget https://github.com/apprenticeharper/DeDRM_tools/releases/download/v6.6.3/DeDRM_tools_6.6.3.zip
Kindle 电脑版 v 1.17
(根据官方常见问题解答(快照)。最新版本链接。
为了获得最佳效果,您需要使用旧版本的 Kindle for PC(≤1.17)。(稍新的版本(≥1.24)使用次优的 KFX 文件格式来下载书籍,而即使是较新的版本也无法被 DeDRM 插件“利用”。)
不幸的是,亚马逊网站上不再提供该版本的 Kindle for PC,因此您需要使用 google/duckduckgo 查找文件名KindleForPC-installer-1.17.44170.exe
,然后从一些不可靠的网站下载。要确保您下载的是“原始”文件(而不是带有额外恶意软件的修改版本),您需要检查文件的哈希值。(md5 已“损坏”,sha1 已部分“损坏”,因此我不建议仅依赖它们。)
sha256sum KindleForPC-installer-1.17.44170.exe | grep 14e0f0053f1276c0c7c446892dc170344f707fbfe99b6951762c120144163200
如果您不相信我(互联网上的随机人员)会告诉您正确的哈希值(您没有理由这样做),您可以转到上面的官方常见问题解答 — 毕竟,您已经相信 DeDRM 插件不是恶意的。(出于某种原因,常见问题解答中的 sha256 哈希值中有一个空格。)
葡萄酒技巧
我们无法在 Kindle for PC 上使用 winetricks,因为它安装的版本 1.20 不太合适。
安装并运行 Kindle for PC
wine64 KindleForPC-installer-1.17.44170.exe
输入您的亚马逊账户详细信息,将相关书籍下载到“设备”(即您的计算机)等。
安装 calibre DeDRM 插件
unzip DeDRM_tools_6.6.3.zip
calibre-customize --add DeDRM_calibre_plugin/DeDRM_plugin.zip
或者,解压后,您可以通过 Calibre 的标准 UI 安装它。(首选项 > 高级 > 插件 > 从文件加载插件。)
提取你的 kindle 钥匙
如果您使用的是 WINE/Linux,DeDRM 插件将不会在未经操作的情况下自行“自动”提取密钥。
DeDRM_calibre_plugin/DeDRM_plugin_ReadMe.txt
包含一些关于如何进行的建议。它们部分地(但不是完全地)对我有用。
安装 python(在 wine 中)
为了提取 DRM 密钥,需要运行 Python 脚本(由 calibre 插件提供)之内wine(理想情况下)由 calibre 插件本身实现。因此,您需要在 wine 环境中安装 python。
这里有两种选择——使用 winetricks 或从官方 python 网站手动安装。
手动安装(目前推荐)
wget https://www.python.org/ftp/python/2.7.13/python-2.7.13.msi
msiexec /i python-2.7.13.msi ALLUSERS=1
请注意,这与当前的说明不同,DeDRM_calibre_plugin/DeDRM_plugin_ReadMe.txt
因为添加了关键的ALLUSERS=1
。
Winetricks(除非您有新版本的 winetricks,否则不推荐使用)
如果您使用的是从 Ubuntu 存储库安装的 winetricks,那么在 18.04 上,不幸的是,只有 python-2.6(您可以使用安装winetricks python26
)可用。由于 calibre 插件当前将路径硬编码为标准 python-2.7 安装,因此这不是最理想的。因此,您要么需要修补 calibre 插件,要么自己运行 wine python 脚本并复制解密密钥。
如果您有较新版本的 winetricks,您可以安装 python-2.7。
winetricks python27
运行 wine python 脚本
为了让 calibre 插件运行该脚本,您必须告诉它您的 wine 安装位置(即所谓的“WINEPREFIX”)。默认情况下,wineprefix 是~/.wine/
。您可以WINEPREFIX
在 Calibre 中通过转到“首选项”>“高级”>“插件”>“文件类型插件”>“DeDRM”>“自定义插件”>“Kindle for PC 和 Adobe Digital Editions”来告诉 calibre 插件您的 。您可以通过按“+”按钮来提示脚本的运行 - 否则,当您第一次尝试添加带有 Kindle DRM 的书籍时,它将运行。
就是这样 — 当您将书籍添加到 calibre 时,它们将自动被剥离 DRM。或者,您可以查看下面的 (几乎) cli 版本,其中删除了我大部分冗长的解释。
(几乎)纯命令行版本
不要一次性复制粘贴所有这些内容,因为这样做不起作用——其中几个步骤需要人工参与。
sudo apt-get install wine64
sudo apt-get install calibre
mkdir -p ~/Downloads/kindle_dedrm/
cd ~/Downloads/kindle_dedrm/
# somehow get KindleForPC-installer-1.17.44170.exe
# check its hash
sha256sum KindleForPC-installer-1.17.44170.exe | grep 14e0f0053f1276c0c7c446892dc170344f707fbfe99b6951762c120144163200
wine64 ~/Downloads/kindle_dedrm/KindleForPC-installer-1.17.44170.exe &
# Enter your amazon account details, download your relevant books to the device etc.
wget https://github.com/apprenticeharper/DeDRM_tools/releases/download/v6.6.3/DeDRM_tools_6.6.3.zip
unzip DeDRM_tools_6.6.3.zip
# Install plugin (could also use Calibre's GUI)
calibre-customize --add DeDRM_calibre_plugin/DeDRM_plugin.zip
wget https://www.python.org/ftp/python/2.7.13/python-2.7.13.msi
msiexec /i python-2.7.13.msi ALLUSERS=1
# Configure the calibre dedrm plugin with the correct wineprefix
# (could also use Calibre's GUI)
# (could also save it to a file and run, say,
# python add_wine_prefix_to_dedrm_config.py #)
python -c '
import json
import os
home = os.path.expanduser("~")
file = open(home + "/.config/calibre/plugins/dedrm.json", "r+")
dedrm_config = json.load(file)
dedrm_config["kindlewineprefix"] = home + "/.wine/"
file.seek(0)
json.dump(dedrm_config, file)
file.truncate()
file.close()
'
# Add all your Kindle books to the Calibre Library for automatic processing
calibredb add ~/Documents/My\ Kindle\ Content/*.azw --with-library="Calibre Library"
## (Optionally) list your books
# calibredb list --with-library="Calibre Library"
## (Optionally) export the first book
# calibredb export 1 --with-library="Calibre Library"
## (Optionally) export all your books
# calibredb export --all --with-library="Calibre Library"
答案3
对于 macOS
- 因为我无法“通过 USB 下载和传输”新买的书,所以我需要将 Kindle for Mac 降级到 1.31
- 安装https://s3.amazonaws.com/kindleformac/60175/KindleForMac-1.31.60175.dmg
- 更多版本https://gist.github.com/marccarre/645fe68da31678f9191cd3aafecfea1b
- https://www.mobileread.com/forums/showthread.php?t=283371
- https://www.mobileread.com/forums/showpost.php?p=3819708&postcount=508
- https://geoffstratton.com/remove-drm-amazon-kindle-books/
- 使用 chmod 禁用 kindle 更新。在 kindle 偏好设置中取消选中不起作用。
chmod 000 ~/Library/Application\ Support/Kindle/updates
- 关闭 Kindle 并禁用 kfx
chmod -x /Applications/Kindle.app/Contents/MacOS/renderer-test
- 重新打开 Kindle 并下载书籍。
- 安装 calibre 插件:
- 关闭 calibre 并从 cli 添加以查看进度信息:
% cd /Applications/calibre.app/Contents/MacOS
% calibredb add /Users/rfrolow/Library/Application\ Support/Kindle/My\ Kindle\ Content/B01CLR25ZW_EBOK/B01CLR25ZW_EBOK.azw
Gather KFX-ZIP (from KFX Input) 1.50.0: Importing /Users/rfrolow/Library/Application Support/Kindle/My Kindle Content/B01CLR25ZW_EBOK/B01CLR25ZW_EBOK.azw
Gather KFX-ZIP (from KFX Input): File is not KFX format
DeDRM v10.0.3: Trying to decrypt B01CLR25ZW_EBOK.azw
Using Library AlfCrypto Python
MobiDeDrm v1.1.
Copyright © 2008-2020 The Dark Reverser, Apprentice Harper et al.
Decrypting Mobipocket 4 ebook: 70 Best Recipes For Health And Weight Loss: The Guerrilla Diet Way
Got DSN key from database kindle_key_1672926759_1
Got DSN key from database kindle_key_1672926759_2
Found 4 keys to try after 0.2 seconds
Crypto Type is: 2
File is encoded with PID JD7sabsBM2.
Decrypting. Please wait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . done
Decryption succeeded after 184.7 seconds
DeDRM v10.0.3: Finished after 184.8 seconds
Added book ids: 1161