如何从Kindle书籍中删除DRM?


9

我想知道如何从Kindle书中剥离DRM。我想从亚马逊购买Kindle电子书。我将剥离DRM,然后将其转换为Epub(以便可以在连接到我的iPhone的头戴式耳机上收听)和PDF格式(因此,在收听的同时,我可以使用我的基于Ubuntu的发行版,并为书加注)。

我已经花了一个小时的时间搜索剥离DRM的软件,但只找到内容似乎没有帮助或我不信任的页面链接。


由于删除DRM违反了copywrite法律,因此我认为您不会发现任何可信任的内容。
狂欢

1
删除或绕过DRM不会侵犯版权。它可能违反其他一些(更严重的)反规避法律,例如DCMA,但这取决于您的住所以及可能使用该电子书的目的。OP可能会或可能不会生活在格式转换可豁免的地方,甚至可能没有与DMCA等效的地方。
thomasrutter

如果您在美国,则数字千年版权法案(DMCA)会禁止绕过会阻止您访问(例如查看)某些内容的控件是非法的,但绕过仅阻止您使用该控件复制或执行其他操作的控件并非违法。内容。但是,分发用于执行此操作的工具是非法的。
thomasrutter

我居住在美国,并且Kindle格式不是阻止我“访问(例如查看)” Kindle书中内容的控件,因为亚马逊提供了可供我使用的Kindle书阅读器。由于我打算为这本书买单,因此按照我在最初的发贴中所述,我觉得这样做很合理。我无意分发它或对其进行任何可能导致经济收益的事情。
Vim

Answers:


8

我将其合法性和道德性留给律师,但我的理解是,打破DRM是非法的,但是对DRM资料进行一次备份是合法的,您具有访问的合法权利。

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

  1. 首先这个包:口径
  2. 与此插件耦合:DeDRM

这些说明在插件链接中有详细说明。


1
或许也这样:mobileread.com/forums/showthread.php?t=291290应对新的KFX书...
andrew.46

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 for PC v 1.17

(紧密基于官方FAQ(快照)中的信息链接到最新版本。)

为了获得最佳结果,您需要使用旧版Kindle for PC(≤1.17)。(稍晚一些的版本(≥1.24)对下载的图书使用次优的KFX文件格式,而DeDRM插件根本无法“利用”了最近的版本。)

不幸的是,该版本的PC版Kindle无法从亚马逊网站上获得,因此您需要使用google / duckduckgo作为文件名KindleForPC-installer-1.17.44170.exe,然后从一些粗略的网站上下载该文件名。为确保您已下载“原始”文件(而不是带有奖励恶意软件的修改版),您需要检查文件的哈希值。(md5被“破坏”,sha1被部分“破坏”,所以我建议您不要完全依靠它们。)

sha256sum KindleForPC-installer-1.17.44170.exe | grep 14e0f0053f1276c0c7c446892dc170344f707fbfe99b6951762c120144163200

如果您不信任我,互联网上的一个随机人,告诉您正确的哈希,(您没有理由),可以转到上面的官方常见问题解答-毕竟,您已经信任DeDRM插件不要恶意。(出于某种原因,在FAQ中的sha256哈希中有一个空格。)

酒鬼

我们无法使用PC版Kindle的winetricks,因为它安装的版本1.20不合适。

安装并运行Kindle for PC

wine64 KindleForPC-installer-1.17.44170.exe

输入您的亚马逊帐户详细信息,将相关书籍下载到“设备”(即您的计算机)等。

安装口径DeDRM插件

unzip DeDRM_tools_6.6.3.zip
calibre-customize --add DeDRM_calibre_plugin/DeDRM_plugin.zip

另外,解压缩后,您可以通过Calibre的标准UI进行安装。(首选项>高级>插件>从文件加载插件。)

提取您的点燃钥匙

如果您使用的是WINE / Linux,则DeDRM插件不会在没有任何麻烦的情况下“自动”提取密钥。

DeDRM_calibre_plugin/DeDRM_plugin_ReadMe.txt包含有关如何进行的一些建议。他们部分地为我工作,但不是全部。

安装python(在wine中)

为了提取DRM密钥,一个python脚本(由口径插件提供的)将需要运行酒(最好)的口径插件本身。因此,您需要在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)可用。由于口径插件当前将标准python-2.7安装的路径硬编码,因此不是最佳选择。因此,您要么需要修补口径插件,要么自己运行wine python脚本并复制解密密钥。

如果您有较新版本的winetricks,则可以安装python-2.7。

winetricks python27

运行wine python脚本

为了使口径插件运行脚本,您必须告诉它您的Wine安装位置(所谓的“ WINEPREFIX”)。默认情况下,wineprefix为~/.wine/。您可以通过以下方式告诉口径插件WINEPREFIX,您可以在Calibre中转到“首选项”>“高级”>“插件”>“文件类型插件”>“ DeDRM”>“自定义插件”>“ Kindle for PC和Adobe Digital Editions”。您可以通过按“ +”按钮来提示脚本的运行-否则,当您首次尝试使用Kindle DRM添加书籍时,脚本将运行。

就是这样—当您将书本添加到机芯时,它们会被自动删除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"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.