用Calibre导入Kindle电子书并去除DRM保护

本文的目的绝非为了盗版之用,而是很多美国亚马逊买的Kindle设备(如Kindle 4、Kindle 5)无法在中国亚马逊里注册,不能通过正常的推送渠道购买正版电子书,因此这是一个万不得已的做法,在中国亚马逊买书然后破解再传到美版(或日版)Kindle里。

需要下载的软件有:CalibreDeDRM插件Kindle for PC(或者for Mac

Calibre本身是用Qt和Python写成的,因此DeDRM插件也是Python写的。下面以Windows为例(Linux下没有Kindle客户端需要Wine有点麻烦,而Mac和Windows PC大同小异)。

准备电子书

首先安装好Calibre和Kindle for PC,打开Kindle for PC(快捷方式就叫做Kindle),用中国亚马逊的账号登录,进去之后简单设置一下吧(比如我改动了内容文件夹D:\Kindle)。

然后去中国亚马逊上买Kindle电子书,推送到Kindle for PC上(不少人是为了知乎周刊吧……)。刷新一下图书馆,确保电子书下载完毕,这时去内容文件夹看看吧,azw文件已经躺在那里了。

安装去除DRM保护的插件

不过这些azw文件是带有DRM保护的,你直接传到Kindle里是打不开的(如果Amazon能解决这个DRM的这个问题也算是一大进步啊),这个时候就需要Calibre和DeDRM插件了。需要说明的是Calibre本身是不支持去除DRM的,官方插件仓库里也没有这个插件。在DeDRM的releases里下载最新的zip包,解压,在dedrm-ebook-tools-6.0.4\DeDRM_calibre_plugin下有一个英文说明txt文档,还有一个就是插件包DeDRM_plugin.zip!

打开Calibre,点击首选项(或者快捷键Ctrl+P),点击高级选项下的插件,点击“从文件加载插件”,选择DeDRM_plugin.zip,接下来会有一些安全警告什么的,一路下一步忽视警告。你可能需要重新启动Calibre使其生效。

然后?

把Kindle for PC下载的那些azw文件添加到Calibre即可(直接拖进去吧),DeDRM插件会自动去除azw文件的DRM保护并转换成原始格式(azw3或者mobi、prc等)。神马?不会用Calibre传书到Kindle?连接USB会不会,点击鼠标会不会?

请勿通过此法传播盗版书籍!支持正版,人人有责。

也希望有关部门能放宽文化管制,希望能看到Amazon.cn和Amazon.com账户数据互通的那一天(我的中国梦……>_<#)。

Comments

16 responses to “用Calibre导入Kindle电子书并去除DRM保护”

  1. Eri avatar
    Eri

    难道是我安装方法不对?为什么把书拖进Calibre点阅读还是现实被DRM保护无法阅读?呜呜!

    1. librehat avatar

      你要装好插件,我当年写这篇文章的时候是可以用的,之后并没有再尝试过。

  2. 破解不了DRM avatar
    破解不了DRM

    请问博主现在还可以破解DRM吗,我按照上面的操作貌似还是不行啊

    1. librehat avatar

      应该是可以的,亚马逊又没有更新DRM加密方案

  3. BOA avatar
    BOA

    灰常感谢。。。我是因为要给没有kindle的人传书,不破解别人看不了。。。教程很有用,么么哒!

  4. chenx avatar

    Resolved conversion options
    calibre version: 1.47.0
    {‘asciiize’: False,
    ‘author_sort’: None,
    ‘authors’: None,
    ‘base_font_size’: 0.0,
    ‘book_producer’: None,
    ‘change_justification’: u’original’,
    ‘chapter’: u”//*[((name()=’h1′ or name()=’h2′) and re:test(., ‘\\s*((chapter|book|section|part)\\s+)|((prolog|prologue|epilogue)(\\s+|$))’, ‘i’)) or @class = ‘chapter’]”,
    ‘chapter_mark’: u’pagebreak’,
    ‘comments’: None,
    ‘cover’: u’/var/folders/lm/n7y3xd153qn79pv6tj_6wsph0000gn/T/calibre_1.47.0_tmp_Fln6Dq/siiOzR.jpeg’,
    ‘debug_pipeline’: None,
    ‘dehyphenate’: True,
    ‘delete_blank_paragraphs’: True,
    ‘disable_font_rescaling’: False,
    ‘dont_compress’: False,
    ‘duplicate_links_in_toc’: False,
    ’embed_all_fonts’: False,
    ’embed_font_family’: None,
    ‘enable_heuristics’: False,
    ‘expand_css’: False,
    ‘extra_css’: None,
    ‘extract_to’: None,
    ‘filter_css’: u”,
    ‘fix_indents’: True,
    ‘font_size_mapping’: None,
    ‘format_scene_breaks’: True,
    ‘html_unwrap_factor’: 0.4,
    ‘input_encoding’: None,
    ‘input_profile’: ,
    ‘insert_blank_line’: False,
    ‘insert_blank_line_size’: 0.5,
    ‘insert_metadata’: False,
    ‘isbn’: None,
    ‘italicize_common_cases’: True,
    ‘keep_ligatures’: False,
    ‘language’: None,
    ‘level1_toc’: None,
    ‘level2_toc’: None,
    ‘level3_toc’: None,
    ‘line_height’: 0.0,
    ‘linearize_tables’: False,
    ‘margin_bottom’: 5.0,
    ‘margin_left’: 5.0,
    ‘margin_right’: 5.0,
    ‘margin_top’: 5.0,
    ‘markup_chapter_headings’: True,
    ‘max_toc_links’: 50,
    ‘minimum_line_height’: 120.0,
    ‘mobi_file_type’: u’old’,
    ‘mobi_ignore_margins’: False,
    ‘mobi_keep_original_images’: False,
    ‘mobi_toc_at_start’: False,
    ‘no_chapters_in_toc’: False,
    ‘no_inline_navbars’: True,
    ‘no_inline_toc’: False,
    ‘output_profile’: ,
    ‘page_breaks_before’: u”//*[name()=’h1′ or name()=’h2′]”,
    ‘personal_doc’: u'[PDOC]’,
    ‘prefer_author_sort’: False,
    ‘prefer_metadata_cover’: False,
    ‘pretty_print’: False,
    ‘pubdate’: None,
    ‘publisher’: None,
    ‘rating’: None,
    ‘read_metadata_from_opf’: u’/var/folders/lm/n7y3xd153qn79pv6tj_6wsph0000gn/T/calibre_1.47.0_tmp_Fln6Dq/4SmU2L.opf’,
    ‘remove_fake_margins’: True,
    ‘remove_first_image’: False,
    ‘remove_paragraph_spacing’: False,
    ‘remove_paragraph_spacing_indent_size’: 1.5,
    ‘renumber_headings’: True,
    ‘replace_scene_breaks’: u”,
    ‘search_replace’: ‘[]’,
    ‘series’: None,
    ‘series_index’: None,
    ‘share_not_sync’: False,
    ‘smarten_punctuation’: False,
    ‘sr1_replace’: None,
    ‘sr1_search’: None,
    ‘sr2_replace’: None,
    ‘sr2_search’: None,
    ‘sr3_replace’: None,
    ‘sr3_search’: None,
    ‘start_reading_at’: None,
    ‘subset_embedded_fonts’: False,
    ‘tags’: None,
    ‘timestamp’: None,
    ‘title’: None,
    ‘title_sort’: None,
    ‘toc_filter’: None,
    ‘toc_threshold’: 6,
    ‘toc_title’: None,
    ‘unsmarten_punctuation’: False,
    ‘unwrap_lines’: True,
    ‘use_auto_toc’: False,
    ‘verbose’: 2}
    Python function terminated unexpectedly: ‘utf8’ codec can’t decode bytes in position 22557-22558: invalid continuation byte
    InputFormatPlugin: MOBI Input running
    on /var/folders/lm/n7y3xd153qn79pv6tj_6wsph0000gn/T/calibre_1.47.0_tmp_Fln6Dq/0IYlpm.azw3
    Found KF8 MOBI of type ‘standalone’
    Extracting text…
    The div table for SKEL0000000001 has incorrect insert positions. Calculating manually.
    The div table for SKEL0000000002 has incorrect insert positions. Calculating manually.
    The div table for SKEL0000000003 has incorrect insert positions. Calculating manually.
    The div table for SKEL0000000004 has incorrect insert positions. Calculating manually.
    The div table for SKEL0000000005 has incorrect insert positions. Calculating manually.
    Traceback (most recent call last):
    File “/Applications/calibre.app/Contents/Resources/Python/lib/python2.7/site.py”, line 208, in main
    return run_entry_point()
    File “/Applications/calibre.app/Contents/Resources/Python/lib/python2.7/site.py”, line 114, in run_entry_point
    return getattr(pmod, func)()
    File “site-packages/calibre/utils/ipc/worker.py”, line 195, in main
    File “site-packages/calibre/gui2/convert/gui_conversion.py”, line 31, in gui_convert_override
    File “site-packages/calibre/gui2/convert/gui_conversion.py”, line 25, in gui_convert
    File “site-packages/calibre/ebooks/conversion/plumber.py”, line 1040, in run
    File “site-packages/calibre/customize/conversion.py”, line 241, in __call__
    File “site-packages/calibre/ebooks/conversion/plugins/mobi_input.py”, line 43, in convert
    File “site-packages/calibre/ebooks/mobi/reader/mobi8.py”, line 103, in __call__
    File “site-packages/calibre/ebooks/mobi/reader/mobi8.py”, line 449, in expand_text
    File “site-packages/calibre/ebooks/mobi/reader/markup.py”, line 311, in expand_mobi8_markup
    File “site-packages/calibre/ebooks/mobi/reader/markup.py”, line 52, in update_internal_links
    File “lib/python2.7/encodings/utf_8.py”, line 16, in decode
    UnicodeDecodeError: ‘utf8’ codec can’t decode bytes in position 22557-22558: invalid continuation byte

  5. chenx avatar

    calibre, version 1.47.0
    警告: 无法保存部分书籍: 无法保存部分书籍, 点击“查看详细信息”按钮查看具体列表。

    50种实用健康自测法 (家庭生活快易通)
    请求格式不可用
    =====
    请问现在是不是失效了。

    1. librehat avatar

      没有失效,我上个月还用了的。可能某些特定的电子书不行吧,你得反馈到插件作者那,反馈到我这里我也帮不了你。

  6. snoo avatar
    snoo

    有个kindle paperwhite自带的法语字典,想转到老的kindle上用,比kindle拖到calibre,打不开,说是有DRM,装了这个插件,重新导入,还是打不开呀。。。

    1. librehat avatar

      字典我不太清楚,你最好找找看网上应该有适合老Kindle的法语字典下载,这个插件对电子书是有用的,按道理字典也适用,如果不行的话我也不是很清楚咯。

  7. stardust avatar
    stardust

    灰常感谢!

  8. xy avatar
    xy

    非常感谢,终于可以把亚马逊上的书放kindle5上看了

  9. Tyrion avatar

    这个很有用,因为自己的kindle5不支持亚马逊中国,感谢。

    1. librehat avatar

      估计很多人都是这个原因才会去破版权保护。

  10. Dimpurr avatar

    …… 感想:电子版权弱爆了的样子

    1. librehat avatar

      DRM都弱爆了……没有破解不了的保护手段