使用包管理器安装必要的程序

使用包管理器安装必要的程序

我想知道如何从 Kindle 电子书中去除 DRM。我想从亚马逊购买一本 Kindle 电子书。我会去除 DRM,并将其转换为 Epub(这样我就可以通过连接到 iPhone 的耳机收听)和 PDF 格式(这样,在收听的同时,我可以使用基于 Ubuntu 的发行版在 PDF 阅读器(Okular)中跟踪故事,并为这本书添加注释)。

我花了一个小时寻找用于剥离 DRM 的软件,但只找到了一些内容看起来没有帮助或我不信任的网页链接。

答案1

我将把这件事的合法性和道德性留给律师去处理,但我的理解是,破解 DRM 是违法的,但对你有合法权利访问的 DRM 材料进行一次备份却是合法的。

我相信这个问题的答案可以通过结合两部独立的作品来找到:

  1. 首先是这个包:口径
  2. 加上这个插件:分布式数字版权管理

插件链接中详细说明了说明。

答案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 和 Adob​​e 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

  1. 因为我无法“通过 USB 下载和传输”新买的书,所以我需要将 Kindle for Mac 降级到 1.31
  2. 使用 chmod 禁用 kindle 更新。在 kindle 偏好设置中取消选中不起作用。 chmod 000 ~/Library/Application\ Support/Kindle/updates
  3. 关闭 Kindle 并禁用 kfx chmod -x /Applications/Kindle.app/Contents/MacOS/renderer-test
  4. 重新打开 Kindle 并下载书籍。
  5. 安装 calibre 插件:
  6. 关闭 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
  1. 在 calibre 中出现 azw4 文件,需要使用另一个插件进行解压

相关内容