DRM Removal Tools for eBooks

Version 7.2.1 released on 11 April, 2021

Welcome to Apprentice Alf’s blog

This blog is intended to help anyone looking for free and simple software for removing DRM from their Kindle ebooks, stripping DRM from their Adobe Digital Editions ebooks, getting rid of DRM from their Barnes and Noble ebooks, freeing their Kobo ebooks of DRM, or decrypting their Fictionwise eReader ebooks.

If you want to find out more about ebooks, DRM and why you will probably want to remove the DRM from your ebooks, see this post:  Ebook Formats, DRM and You — A Guide for the Perplexed.

If you already know that you want to strip the DRM from your ebooks, you’ve found the right place.

The Tools

To get started on removing DRM from your ebooks, just download the tools archive from the link below. Unzip the archive, and start reading.

The latest release can be found at the top of this page:
https://github.com/apprenticeharper/DeDRM_tools/releases

Getting Help with the Tools

If you have any questions about the tools, ebooks, and DRM, check the FAQs at the GitHub repository:
https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md

If you have any problems with the current tools, please ask for help in a comment on this post or in the Discussions area of Apprentice Harper’s GitHub repository.  If you would like to report a bug, please open a new issue at the GitHub repository. If you are having a problem with an older version of the tools, please first update to the current version, and see if that solves your problem.

Before commenting here, please check the ReadMe file and the FAQs (see link above).

In any bug report or help request, please include:

  • which tool was used
  • which OS you are using
  • where the ebook file came from (device or application)
  • any error messages
  • a log of the DRM-removal attempt (see the FAQs on how to get a log).

Anti-Piracy Notice

Please only use these tools for gaining full access to your own ebooks for archiving/conversion/convenience. De-drmed ebooks should not be uploaded to open servers, torrents, or other methods of mass distribution. No help will be given to people doing such things. Authors, retailers and publishers all need to make a living, so that they can continue to produce books for us to read. Don’t be a parasite.

Origin of the Tools

The tools for removing DRM from ePubs were originally posted at i♥cabbages’ blog. The tools for Kindle/Mobipocket were originally posted at The Dark Reverser’s blog.

They have since been improved by many people, but mostly some_updates, DiapDealer, Apprentice Alf, and Apprentice Harper. While there are many sites that redistribute these tools, the most up-to-date versions of the tools are currently released here.

Other Sources

Anyone trying to sell you ebook DRM removal tools for Adobe Adept ePub and PDFs, Barnes & Noble ePubs, Kindle ebooks, Kobo ebooks, or eReader ebooks has probably just repackaged (an earlier) version of the tools available here.

7,459 thoughts on “DRM Removal Tools for eBooks

  1. I am using Windows 7 and the latest Calibre version and tools and after trying everything in the readme and looking at the faq I can’t remove DRM. I bought the book through Amazon, it’s not a library book or Kindle Unlimited. Do I need Kindle for PC? Here is the log:

    calibre Debug log
    calibre 3.17 embedded-python: True is64bit: False
    Windows-7-6.1.7601-SP1 Windows (’32bit’, ‘WindowsPE’)
    (‘Windows’, ‘7’, ‘6.1.7601’)
    Python 2.7.12+
    Windows: (‘7’, ‘6.1.7601’, ‘SP1′, u’Multiprocessor Free’)
    Interface language: None
    Successfully initialized third party plugins: DeDRM (6, 5, 5) && Quality Check (1, 9, 11) && Generate Cover (1, 5, 21) && Find Duplicates (1, 6, 3) && Obok DeDRM (6, 5, 4)
    calibre 3.17 embedded-python: True is64bit: False
    Windows-7-6.1.7601-SP1 Windows (’32bit’, ‘WindowsPE’)
    (‘Windows’, ‘7’, ‘6.1.7601’)
    Python 2.7.12+
    Windows: (‘7’, ‘6.1.7601’, ‘SP1′, u’Multiprocessor Free’)
    Interface language: None
    Successfully initialized third party plugins: DeDRM (6, 5, 5) && Quality Check (1, 9, 11) && Generate Cover (1, 5, 21) && Find Duplicates (1, 6, 3) && Obok DeDRM (6, 5, 4)
    Turning on automatic hidpi scaling
    devicePixelRatio: 1.0
    logicalDpi: 120.0 x 120.0
    physicalDpi: 72.035450517 x 72.0
    Using calibre Qt style: True
    Starting up…
    DEBUG: 0.0 obok::utilities.py – loading translations
    DEBUG: 0.0 obok::dialogs.py – loading translations
    DEBUG: 0.0 obok::config.py – loading translations
    DEBUG: 0.0 obok::action_err.py – loading translations
    Started up in 4.21 seconds with 2448 books
    SMART_DEV ( 0.00: 0.003) _attach_to_port try ip address “” on port 9090
    SMART_DEV ( 0.97: 0.802) _startup_on_demand listening on port 9090
    SMART_DEV ( 1.03: 0.001) _attach_to_port try ip address “” on port 54982
    SMART_DEV ( 1.09: 0.000) _startup_on_demand broadcast socket listening on port 54982
    SMART_DEV ( 2.17: 1.024) run All IP addresses {‘{7ADCBB55-BF89-4BE6-BEBC-B819D08E351F}’: [{‘addr’: u’10.0.0.187′, ‘broadcast’: u’10.0.0.187′, ‘netmask’: u’255.255.255.255′}], ‘{E29AC6C2-7037-11DE-816D-806E6F6E6963}’: [{‘addr’: u’127.0.0.1′, ‘broadcast’: u’127.0.0.1′, ‘netmask’: u’255.255.255.255′}]}
    DeDRM v6.5.5: Trying to decrypt Happy Dreams.azw3
    Using Library AlfCrypto Python
    MobiDeDrm v0.42.
    Copyright © 2008-2017 The Dark Reverser, Apprentice Harper et al.
    Decrypting Kindle Format 8 ebook: Happy Dreams
    Found 4 keys to try after 0.2 seconds
    Crypto Type is: 2
    DeDRM v6.5.5: Failed to decrypt with error: No key found in 4 keys tried.
    DeDRM v6.5.5: Looking for new default Kindle Key after 0.2 seconds
    searching for kinfoFiles in C:\Users\sharrock\AppData\Local
    No K4PC kindle.info/kinf/kinf2011 files have been found.
    DeDRM v6.5.5: Ultimately failed to decrypt after 0.2 seconds. Read the FAQs at Harper’s repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md
    Running file type plugin DeDRM failed with traceback:
    Traceback (most recent call last):
    File “site-packages\calibre\customize\ui.py”, line 171, in _run_filetype_plugins
    File “calibre_plugins.dedrm.init“, line 618, in run
    File “calibre_plugins.dedrm.init“, line 568, in KindleMobiDecrypt
    DeDRMError: DeDRM v6.5.5: Ultimately failed to decrypt after 0.2 seconds. Read the FAQs at Harper’s repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md
    Added Happy Dreams to db in: 2.1
    Added 1 books in 4.2 seconds
    Worker Launch took: 0.172000169754

  2. I figured out what the problem was. When I downloaded books, I had put my fire as the destination instead of my voyage. Apparently that made the difference because when I deleted them, went back and put the voyage as the destination, I could download them to my computer, then put them into Calibre and everything worked fine. So please disregard comment and log above:)

    • Yes, when downloading from the website, you need to select an E-ink Kindle (not a Fire) and have its serial number in the plugin customization.

      • I tried to do so with the DeDRM Mac Application and with the calibre plugin. But it always fails. When I download the file from the website it doesn’t have any file extension. Do I have to add it? Should it be .azw?

    • Install Adobe Digital Editions 2.0.1, authorize it with an Adobe ID, and then open the ACSM file. Once the EPUB or PDF is downloaded, you can use this to remove the DRM.

  3. Trying to convert an ePub I just downloaded from the Nook Windows 10 app.

    DeDRM v6.5.5: Trying to decrypt 9780520962712.epub
    DeDRM v6.5.5: Verifying zip archive integrity
    DeDRM v6.5.5: “9780520962712.epub” is a secure Barnes & Noble ePub
    DeDRM v6.5.5: Trying Encryption key Key X
    Could not decrypt sw37dj.epub because of an exception:
    Traceback (most recent call last):
    File “calibre_plugins.dedrm.ignobleepub”, line 280, in decryptBook
    File “calibre_plugins.dedrm.ignobleepub”, line 211, in init
    File “calibre_plugins.dedrm.ignobleepub”, line 182, in init
    File “site-packages\Crypto\Cipher\AES.py”, line 95, in new
    File “site-packages\Crypto\Cipher\AES.py”, line 59, in init
    File “site-packages\Crypto\Cipher\blockalgo.py”, line 141, in init
    ValueError: Key cannot be the null string

    It certainly appears that my key was properly generated in the settings, so not sure what’s wrong.

  4. Isn’t working 😦

    calibre Debug log
    calibre 3.18 embedded-python: True is64bit: True
    Darwin-13.4.0-x86_64-i386-64bit Darwin (’64bit’, ”)
    (‘Darwin’, ‘13.4.0’, ‘Darwin Kernel Version 13.4.0: Mon Jan 11 18:17:34 PST 2016; root:xnu-2422.115.15~1/RELEASE_X86_64’)
    Python 2.7.12
    OSX: (‘10.9.5’, (”, ”, ”), ‘x86_64′)
    Interface language: None
    Successfully initialized third party plugins: DeDRM (6, 5, 5)
    calibre 3.18 embedded-python: True is64bit: True
    Darwin-13.4.0-x86_64-i386-64bit Darwin (’64bit’, ”)
    (‘Darwin’, ‘13.4.0’, ‘Darwin Kernel Version 13.4.0: Mon Jan 11 18:17:34 PST 2016; root:xnu-2422.115.15~1/RELEASE_X86_64’)
    Python 2.7.12
    OSX: (‘10.9.5’, (”, ”, ”), ‘x86_64’)
    Interface language: None
    Successfully initialized third party plugins: DeDRM (6, 5, 5)
    devicePixelRatio: 1.0
    logicalDpi: 72.0 x 72.0
    physicalDpi: 126.000001892 x 127.000001907
    Using calibre Qt style: True
    Starting up…
    Started up in 5.45 seconds with 2 books

  5. I have used the DeDRM plug-in in the past successfully on my Mac. I can’t seem to get it to work for all book on the pc. This is on Windows 10 with Calibre 3.18 and DeDRM plugin 6.5.5. When importing azw3 files, I still get the “Cannot Convert due to DRM” popup for many books. Please advise.

    • If they’re downloaded from the website, then you need to make sure you’ve choosen an E-ink Kindle (not a Fire) for the device and entered its serial number correctly into the plugin customization.

      • no, I’m afraid, it doesn’t work: i can only post short messages but can’t post a calibre conversion error log…any idea?

        • The logs contain links to the FAQs, and they can get stuck in spam/moderation if there are more than a couple. Try posting again with those removed.

  6. Convert book 1 of 1 (The Vegetarian: A Novel)
    Conversion options changed from defaults:
    cover: u’/tmp/calibre_3.18.0_tmp_mnsb4p/ZrqXTO.jpeg’
    verbose: 2
    output_profile: ‘generic_eink’
    read_metadata_from_opf: u’/tmp/calibre_3.18.0_tmp_mnsb4p/xhqQgE.opf’
    Resolved conversion options
    calibre version: 3.18.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’/tmp/calibre_3.18.0_tmp_mnsb4p/ZrqXTO.jpeg’,
    ‘debug_pipeline’: None,
    ‘dehyphenate’: True,
    ‘delete_blank_paragraphs’: True,
    ‘disable_font_rescaling’: False,
    ‘dont_split_on_page_breaks’: False,
    ‘duplicate_links_in_toc’: False,
    ’embed_all_fonts’: False,
    ’embed_font_family’: None,
    ‘enable_heuristics’: False,
    ‘epub_flatten’: False,
    ‘epub_inline_toc’: False,
    ‘epub_toc_at_end’: False,
    ‘expand_css’: False,
    ‘extra_css’: None,
    ‘extract_to’: None,
    ‘filter_css’: u”,
    ‘fix_indents’: True,
    ‘flow_size’: 260,
    ‘font_size_mapping’: None,
    ‘format_scene_breaks’: True,
    ‘html_unwrap_factor’: 0.4,
    ‘input_encoding’: None,
    ‘input_profile’: <calibre.customize.profiles.InputProfile object at 0x7fefcbf7fb90>,
    ‘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,
    ‘no_chapters_in_toc’: False,
    ‘no_default_epub_cover’: False,
    ‘no_inline_navbars’: False,
    ‘no_svg_cover’: False,
    ‘output_profile’: <calibre.customize.profiles.GenericEink object at 0x7fefcbf7ff90>,
    ‘page_breaks_before’: u”//*[name()=’h1′ or name()=’h2′]”,
    ‘prefer_metadata_cover’: False,
    ‘preserve_cover_aspect_ratio’: False,
    ‘pretty_print’: True,
    ‘pubdate’: None,
    ‘publisher’: None,
    ‘rating’: None,
    ‘read_metadata_from_opf’: u’/tmp/calibre_3.18.0_tmp_mnsb4p/xhqQgE.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,
    ‘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,
    ‘transform_css_rules’: ‘[]’,
    ‘unsmarten_punctuation’: False,
    ‘unwrap_lines’: True,
    ‘use_auto_toc’: False,
    ‘verbose’: 2}
    InputFormatPlugin: MOBI Input running
    on /tmp/calibre_3.18.0_tmp_mnsb4p/HpnwSs.azw
    Found KF8 MOBI of type ‘standalone’

    DRMError: The Vegetarian: A Novel

    • these are the lines I removed:

      File “site-packages/calibre/gui2/convert/gui_conversion.py”, line 26, in gui_convert
      File “site-packages/calibre/ebooks/conversion/plumber.py”, line 1088, in run
      File “site-packages/calibre/customize/conversion.py”, line 245, in call
      File “site-packages/calibre/ebooks/conversion/plugins/mobi_input.py”, line 44, in convert
      File “site-packages/calibre/ebooks/mobi/reader/mobi8.py”, line 86, in call
      File “site-packages/calibre/ebooks/mobi/reader/mobi6.py”, line 157, in check_for_drm

  7. I just dragged what I think is the Kobo story I just bought to Calibre and got these errors. Calibre appeared to get the weird name only.

    calibre, version 3.18.0
    WARNING: Errors while adding: There were problems adding some files, click “Show details” for more information

    Failed to add the file /Users/HBrazee/Library/Application Support/Kobo/Kobo Desktop Edition/kepub/c8863840-593c-44dd-8077-145c30f57bf3 to the book: c8863840-593c-44dd-8077-145c30f57bf3
    With error:
    Traceback (most recent call last):
    File “site-packages/calibre/gui2/add.py”, line 430, in add_formats
    File “site-packages/calibre/db/cache.py”, line 1411, in add_format
    File “site-packages/calibre/db/cache.py”, line 1378, in _do_add_format
    File “site-packages/calibre/db/backend.py”, line 1494, in add_format
    File “site-packages/calibre/db/backend.py”, line 1198, in construct_file_name
    ValueError: Extension length too long: 112

  8. sorry about the previously messy post. From the beginning: Linux KDE (based on Ubuntu 16.04), Calibre 3.18, Wine 1.6.2 (install via Synaptics), Kindle for PC installed via Winetricks. Kindle does not log in (except after getting some temp password from Amazon) and does not sync. I have a back-up of my Kindle Content + am following the read-me file at DeDRM 6.5.5/calibre_plugin.

    here is my log – hope someone can help. Thanks!

    calibre Debug log
    calibre 3.18 embedded-python: True is64bit: True
    Linux-4.13.0-36-generic-x86_64-with-debian-stretch-sid Linux (’64bit’, ‘ELF’)
    (‘Linux’, ‘4.13.0-36-generic’, ‘#40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018’)
    Python 2.7.12
    Linux: (‘debian’, ‘stretch/sid’, ”)
    Interface language: en_GB
    Successfully initialized third party plugins: DeDRM (6, 5, 5) && Find Duplicates (1, 6, 3)
    calibre 3.18 embedded-python: True is64bit: True
    Linux-4.13.0-36-generic-x86_64-with-debian-stretch-sid Linux (’64bit’, ‘ELF’)
    (‘Linux’, ‘4.13.0-36-generic’, ‘#40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018’)
    Python 2.7.12
    Linux: (‘debian’, ‘stretch/sid’, ”)
    Interface language: en_GB
    Successfully initialized third party plugins: DeDRM (6, 5, 5) && Find Duplicates (1, 6, 3)
    Not controlling automatic hidpi scaling
    devicePixelRatio: 1.0
    logicalDpi: 96.0 x 96.0
    physicalDpi: 165.87755102 x 166.254545455
    Using calibre Qt style: True
    Starting up…
    Started up in 9.63 seconds with 453 books
    [‘kdialog’, ‘–title’, ‘Select books’, ‘–attach’, ‘79691790’, ‘–multiple’, ‘–separate-output’, ‘–getopenfilename’, ‘/home/weword/Archive/Tolino/Own copies/My Kindle Content’, ‘Books (.lrf *.rar *.zip *.rtf *.lit *.txt *.txtz *.text *.htm *.xhtm *.html *.htmlz *.xhtml *.pdf *.pdb *.updb *.pdr *.prc *.mobi *.azw *.doc *.epub *.fb2 *.djv *.djvu *.lrx *.cbr *.cbz *.cbc *.oebzip *.rb *.imp *.odt *.chm *.tpz *.azw1 *.pml *.pmlz *.mbp *.tan *.snb *.xps *.oxps *.azw4 *.book *.zbf *.pobi *.docx *.docm *.md *.textile *.markdown *.ibook *.ibooks *.iba *.azw3 *.ps *.kepub *.kfx)\nEPUB books (.epub .kepub)\nKindle books (.mobi .prc *.azw *.azw3 *.kfx *.tpz *.azw1 *.azw4)\nPDF books (.pdf .azw4)\nHTML books (.htm .html *.xhtm *.xhtml)\nLIT books (.lit)\nText books (.txt *.text *.rtf *.md *.markdown *.textile *.txtz)\nComics (.cbz .cbr *.cbc)\nArchives (.zip .rar)\nWordprocessor files (.odt .doc *.docx)\nAll files ()’]
    DeDRM v6.5.5: Trying to decrypt B00TZBZ98S_EBOK.azw
    Using Library AlfCrypto DLL/DYLIB/SO
    MobiDeDrm v0.42.
    Copyright © 2008-2017 The Dark Reverser, Apprentice Harper et al.
    Decrypting Kindle Format 8 ebook: A General Theory of Oblivion
    Found 0 keys to try after 0.0 seconds
    Crypto Type is: 2
    DeDRM v6.5.5: Failed to decrypt with error: No key found in 0 keys tried.
    DeDRM v6.5.5: Looking for new default Kindle Key after 0.0 seconds
    DeDRM v6.5.5: Running kindlekey.py under Wine
    DeDRM v6.5.5: Command line: ‘WINEPREFIX=”/home/weword” wine python.exe “/home/weword/.config/calibre/plugins/DeDRM/libraryfiles/kindlekey.py” “/home/weword/.config/calibre/plugins/DeDRM/libraryfiles/winekeysdir”‘
    wine: cannot find L”C:\windows\system32\python.exe”
    DeDRM v6.5.5: Found and decrypted 0 key files
    DeDRM v6.5.5: Ultimately failed to decrypt after 0.5 seconds. Read the FAQs at Harper’s repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md
    Running file type plugin DeDRM failed with traceback:
    Traceback (most recent call last):
    File “site-packages/calibre/customize/ui.py”, line 171, in _run_filetype_plugins
    File “calibre_plugins.dedrm.init“, line 618, in run
    File “calibre_plugins.dedrm.init“, line 568, in KindleMobiDecrypt
    DeDRMError: DeDRM v6.5.5: Ultimately failed to decrypt after 0.5 seconds. Read the FAQs at Harper’s repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md
    Added A General Theory of Oblivion to db in: 0.2
    Added 1 books in 1.1 seconds

    • If you only have Kindle for PC, you must get a working version installed. The encryption key is per-install, not per-account.

      If you mean you had an E-Ink Kindle that’s no longer working, you should enter that old KIndle’s serial number in the plugin’s preferences

    • And if you have an e-ink Kindle registered to your account, you have to re-download your ebooks from the “Manage Your Content and Devices” – “Your Content” page in your account with “Download & transfer via USB” (the 3 “…” beside each ebook). Shortlink is “amazon.com/myk” in the URL-Field of your browser.
      If yo do not have an e-ink Kindle and the Kindle for Windows is not working, it might be worth getting a used (non-registered!) e-ink Kindle from ebay or elsewhere. It could even be broken, as long as you read the serial number for linking it to your account and configuring DeDRM.

    • If you get a working install of KIndle for PC, I see another problem in this line:

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

      For some reason some Linux systems have a problem with DeDRM finding Python. (You do need to have Python and PyCrypto installed under Wine.) Try manually running the key retrieval script under Wine, and import the key into calibre:

      wine python.exe “/home/weword/.config/calibre/plugins/DeDRM/libraryfiles/kindlekey.py” “/home/weword/winekeysdir”

      (You may need to create /home/weword/winekeysdir first, and then the retrieved key(s) will get put there.)

      • thanx for your feedback. I don’t have/never had an E-ink Kindle. I seem to understand that I should delete the version of Kindle for PC I installed via Winetricks and get Kindle for PC 1.17 from somewhere else. Any idea where?

      • Laura, I’m afraid, I don’t quite understand what you mean when you say

        Try manually running the key retrieval script under Wine, and import the key into calibre:

        wine python.exe “/home/weword/.config/calibre/plugins/DeDRM/libraryfiles/kindlekey.py” “/home/weword/winekeysdir”

        (You may need to create /home/weword/winekeysdir first, and then the retrieved key(s) will get put there.)

        • Hmm, not sure how to explain. But first get Kindle for PC working. And do you have Python and PyCrypto installed under Wine?

          • I do have Python and PyCrypto installed under Wine. For some reason, I can’t get Kindle for Pc working though. I’ll try again and report back.

            • OK, I finally got Kindle work under Wine (I re-install everything from scratch on a freshly-installed Ubuntu 16.04) + downloaded ebooks.

              • so everything – according to the read-me at DeDRM 6.5.5 is now in place (including Python and PyCrypto).

                • I’m still totally stuck at the line (as on read-me and mentioned by Laura) “Run wine 'C:\Python27/python.exe' 'C:\DeDRM/libraryfiles/kindlekey.py', or wherever you copied kindlekey.py to.”. I moved “kindlekey.py” to a .wine/drive_c/DeDRM/libraryfiles”. If I got to Calibre>Preferences>ChangeBehaviour>Plugins>DeDRM>Customize>KindleforPC>import existing key file, I can reach the above folder, but once I open “/libraryfiles” I can’t see anything in it. No “kindlekey.py”. Any idea?

                  • here’s one more Calibre log > conversion attempt without importing the above-mentioned key:

                    calibre Debug log
                    calibre 3.18 embedded-python: True is64bit: True
                    Linux-4.13.0-36-generic-x86_64-with-debian-stretch-sid Linux (’64bit’, ‘ELF’)
                    (‘Linux’, ‘4.13.0-36-generic’, ‘#40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018’)
                    Python 2.7.12
                    Linux: (‘debian’, ‘stretch/sid’, ”)
                    Interface language: None
                    Successfully initialized third party plugins: DeDRM (6, 5, 5)
                    calibre 3.18 embedded-python: True is64bit: True
                    Linux-4.13.0-36-generic-x86_64-with-debian-stretch-sid Linux (’64bit’, ‘ELF’)
                    (‘Linux’, ‘4.13.0-36-generic’, ‘#40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018’)
                    Python 2.7.12
                    Linux: (‘debian’, ‘stretch/sid’, ”)
                    Interface language: None
                    Successfully initialized third party plugins: DeDRM (6, 5, 5)
                    Turning on automatic hidpi scaling
                    GLib-GIO-Message: Using the ‘memory’ GSettings backend. Your settings will not be saved or shared with other applications.
                    devicePixelRatio: 2.0
                    logicalDpi: 48.0 x 48.0
                    physicalDpi: 82.9387755102 x 83.1272727273
                    Using calibre Qt style: True
                    Starting up…
                    Looking for desktop notifier support from: org.freedesktop.Notifications
                    org.freedesktop.Notifications found in 0.0 seconds
                    Started up in 2.89 seconds with 0 books
                    [‘zenity’, ‘–modal’, ‘–file-selection’, ‘–title=Select books’, ‘–separator=\n’, ‘–attach=67108878’, ‘–filename=/home/daniel/My Kindle Content/.fgdfg.gdfhjdhf*&^839’, ‘–file-filter=Books | *.lrf *.rar *.zip *.rtf *.lit *.txt *.txtz *.text *.htm *.xhtm *.html *.htmlz *.xhtml *.pdf *.pdb *.updb *.pdr *.prc *.mobi *.azw *.doc *.epub *.fb2 *.djv *.djvu *.lrx *.cbr *.cbz *.cbc *.oebzip *.rb *.imp *.odt *.chm *.tpz *.azw1 *.pml *.pmlz *.mbp *.tan *.snb *.xps *.oxps *.azw4 *.book *.zbf *.pobi *.docx *.docm *.md *.textile *.markdown *.ibook *.ibooks *.iba *.azw3 *.ps *.kepub *.kfx’, ‘–file-filter=EPUB books | *.epub *.kepub’, ‘–file-filter=Kindle books | *.mobi *.prc *.azw *.azw3 *.kfx *.tpz *.azw1 *.azw4’, ‘–file-filter=PDF books | *.pdf *.azw4’, ‘–file-filter=HTML books | *.htm *.html *.xhtm *.xhtml’, ‘–file-filter=LIT books | *.lit’, ‘–file-filter=Text books | *.txt *.text *.rtf *.md *.markdown *.textile *.txtz’, ‘–file-filter=Comics | *.cbz *.cbr *.cbc’, ‘–file-filter=Archives | *.zip *.rar’, ‘–file-filter=Wordprocessor files | *.odt *.doc *.docx’, ‘–file-filter=All files | *’, ‘–multiple’]
                    DeDRM v6.5.5: Trying to decrypt B003ATPRRO_EBOK.azw
                    Using Library AlfCrypto DLL/DYLIB/SO
                    MobiDeDrm v0.42.
                    Copyright © 2008-2017 The Dark Reverser, Apprentice Harper et al.
                    Decrypting Mobipocket 6 ebook: Barthes: A Very Short Introduction (Very Short Introductions)
                    Found 0 keys to try after 0.0 seconds
                    Crypto Type is: 2
                    DeDRM v6.5.5: Failed to decrypt with error: No key found in 0 keys tried.
                    DeDRM v6.5.5: Looking for new default Kindle Key after 0.0 seconds
                    DeDRM v6.5.5: Running kindlekey.py under Wine
                    DeDRM v6.5.5: Command line: ‘WINEPREFIX=”/home/daniel/.wine” wine python.exe “/home/daniel/.config/calibre/plugins/DeDRM/libraryfiles/kindlekey.py” “/home/daniel/.config/calibre/plugins/DeDRM/libraryfiles/winekeysdir”‘
                    wine: cannot find L”C:\windows\system32\python.exe”
                    DeDRM v6.5.5: Found and decrypted 0 key files
                    DeDRM v6.5.5: Ultimately failed to decrypt after 0.4 seconds. Read the FAQs at Harper’s repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md
                    Running file type plugin DeDRM failed with traceback:
                    Traceback (most recent call last):
                    File “site-packages/calibre/customize/ui.py”, line 171, in _run_filetype_plugins
                    File “calibre_plugins.dedrm.init“, line 618, in run
                    File “calibre_plugins.dedrm.init“, line 568, in KindleMobiDecrypt
                    DeDRMError: DeDRM v6.5.5: Ultimately failed to decrypt after 0.4 seconds. Read the FAQs at Harper’s repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md
                    Added Barthes: A Very Short Introduction (Very Short Introductions) to db in: 0.1
                    Added 1 books in 0.9 seconds

                    • …in which the line “wine: cannot find L”C:\windows\system32\python.exe” also appears…

                    • See the line right above where it says it can’t find python…

                      DeDRM v6.5.5: Command line: ‘WINEPREFIX=”/home/daniel/.wine” wine python.exe “/home/daniel/.config/calibre/plugins/DeDRM/libraryfiles/kindlekey.py” “/home/daniel/.config/calibre/plugins/DeDRM/libraryfiles/winekeysdir”‘

                      DeDRM is trying to run the key retrieval Python script (kindlekey.py), but it can’t find python.exe in order to do it. So the workaround is to do it manually and then import the key into the DeDRM plugin yourself.

                  • open a command line window (terminal/shell) in your host unix system and run the kindleky.py script manually under wine by typing the appropriate command into the command line.

  9. Hi all,
    Can someone remind me of the link for ADE 1.72, please? I’m going to give setting it up in Wine on PCLOS and cannot find the link on Adobe.com.

    As well any setup pointers from Linux users here will be jolly welcome! Thanks.

  10. thanx for your feedback. I don’t have/never had an E-ink Kindle. I seem to understand that I should delete the version of Kindle for PC I installed via Winetricks and get Kindle for PC 1.17 from somewhere else. Any idea where?

  11. Kindle for Desktop 1.1.17, Calibre 2.36. Latest DeDRM tools. I downloaded a mag that I bought that previously gave me DRM problems (doesn’t convert to zip, DRM warning). Calibre + DeDRM still doesn’t work, however the desktop deDRM_Target.bat file actually works (which I then imported into Calibre and converted to zip to test). Any idea why the desktop .bat seems to work 90% of the time, and the Calibre plugin about 60% on the same files? Here are the logs. .azw dropped into Calibre, convert to zip, denied due to DRM: calibre Debug log calibre 2.36 isfrozen: True is64bit: False Windows-7-6.1.7601-SP1 Windows (’32bit’, ‘WindowsPE’) 32bit process running on 64bit windows (‘Windows’, ‘7’, ‘6.1.7601’) Python 2.7.9 Windows: (‘7’, ‘6.1.7601’, ‘SP1’, ‘Multiprocessor Free’) Successfully initialized third party plugins: DeDRM && Save To Format && Favourites Menu && Generate Cover && Count Pages && Goodreads Sync && Obok DeDRM && Goodreads && Open With && Find Duplicates && Clipboard Search Starting up… Traceback (most recent call last): File “site-packagescalibregui2ui.py”, line 151, in init File “site-packagescalibregui2ui.py”, line 165, in init_iaction File “site-packagescalibrecustomize__init__.py”, line 582, in load_actual_plugin File “importlib__init__.py”, line 37, in import_module File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.savetoformat.savetoformataction”, line 3, in File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.savetoformat.gui.prompt”, line 5, in ImportError: cannot import name NONE Traceback (most recent call last): File “site-packagescalibregui2ui.py”, line 151, in init File “site-packagescalibregui2ui.py”, line 165, in init_iaction File “site-packagescalibrecustomize__init__.py”, line 582, in load_actual_plugin File “importlib__init__.py”, line 37, in import_module File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.favourites_menu.action”, line 11, in ImportError: No module named PyQt4.Qt Traceback (most recent call last): File “site-packagescalibregui2ui.py”, line 151, in init File “site-packagescalibregui2ui.py”, line 165, in init_iaction File “site-packagescalibrecustomize__init__.py”, line 582, in load_actual_plugin File “importlib__init__.py”, line 37, in import_module File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.generate_cover.action”, line 15, in File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.generate_cover.config”, line 12, in ImportError: No module named PyQt4.Qt Traceback (most recent call last): File “site-packagescalibregui2ui.py”, line 151, in init File “site-packagescalibregui2ui.py”, line 165, in init_iaction File “site-packagescalibrecustomize__init__.py”, line 582, in load_actual_plugin File “importlib__init__.py”, line 37, in import_module File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.count_pages.action”, line 5, in File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.count_pages.config”, line 11, in ImportError: No module named PyQt4.Qt Traceback (most recent call last): File “site-packagescalibregui2ui.py”, line 151, in init File “site-packagescalibregui2ui.py”, line 165, in init_iaction File “site-packagescalibrecustomize__init__.py”, line 582, in load_actual_plugin File “importlib__init__.py”, line 37, in import_module File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.goodreads_sync.action”, line 12, in ImportError: No module named PyQt4.Qt DEBUG: 0.0 obok::utilities.py – loading translations DEBUG: 0.0 obok::dialogs.py – loading translations DEBUG: 0.0 obok::config.py – loading translations DEBUG: 0.0 obok::action_err.py – loading translations Traceback (most recent call last): File “site-packagescalibregui2ui.py”, line 151, in init File “site-packagescalibregui2ui.py”, line 165, in init_iaction File “site-packagescalibrecustomize__init__.py”, line 582, in load_actual_plugin File “importlib__init__.py”, line 37, in import_module File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.open_with.action”, line 13, in ImportError: No module named PyQt4.Qt Traceback (most recent call last): File “site-packagescalibregui2ui.py”, line 151, in init File “site-packagescalibregui2ui.py”, line 165, in init_iaction File “site-packagescalibrecustomize__init__.py”, line 582, in load_actual_plugin File “importlib__init__.py”, line 37, in import_module File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.find_duplicates.action”, line 11, in ImportError: No module named PyQt4.Qt Traceback (most recent call last): File “site-packagescalibregui2ui.py”, line 151, in init File “site-packagescalibregui2ui.py”, line 165, in init_iaction File “site-packagescalibrecustomize__init__.py”, line 582, in load_actual_plugin File “importlib__init__.py”, line 37, in import_module File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.clipboard_search.action”, line 11, in ImportError: No module named PyQt4.Qt Failed to check for calibre update: [Errno 10051] A socket operation was attempted to an unreachable network Failed to check for plugin update: Started up in 16.32 seconds with 11 books DeDRM v6.5.5: Trying to decrypt B072N2VTQK_EBOK.azw Using Library AlfCrypto DLL/DYLIB/SO MobiDeDrm v0.42. Copyright ツゥ 2008-2017 The Dark Reverser, Apprentice Harper et al. Decrypting Kindle Format 8 ebook: 繧ヲ繧」繝ウ繧ー繧ケ 2017蟷エ10譛亥捷・サ譛滄俣髯仙ョ夲シス Found 6 keys to try after 0.2 seconds Crypto Type is: 2 DeDRM v6.5.5: Failed to decrypt with error: No key found in 6 keys tried. DeDRM v6.5.5: Looking for new default Kindle Key after 0.2 seconds searching for kinfoFiles in C:UsersMichaelAppDataLocal Found K4PC 1.9+ kinf2011 file: C:UsersMichaelAppDataLocalAmazonKindlestorage.kinf2011 Decrypted key file using IDString ‘1783167104’ and UserName ‘4d69636861656c’ DeDRM v6.5.5: Found 1 new key MobiDeDrm v0.42. Copyright ツゥ 2008-2017 The Dark Reverser, Apprentice Harper et al. Decrypting Kindle Format 8 ebook: 繧ヲ繧」繝ウ繧ー繧ケ 2017蟷エ10譛亥捷・サ譛滄俣髯仙ョ夲シス Got DSN key from database default_key_1 Found 4 keys to try after 0.4 seconds Crypto Type is: 2 DeDRM v6.5.5: Ultimately failed to decrypt after 0.4 seconds. Read the FAQs at Harper’s repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md Running file type plugin DeDRM failed with traceback: Traceback (most recent call last): File “site-packagescalibrecustomizeui.py”, line 155, in _run_filetype_plugins File “calibre_plugins.dedrm.init“, line 618, in run File “calibre_plugins.dedrm.init“, line 568, in KindleMobiDecrypt DeDRMError: DeDRM v6.5.5: Ultimately failed to decrypt after 0.4 seconds. Read the FAQs at Harper’s repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md Added ウィングス 2017年10月号[期間限定] to db in: 2.2 Added 1 books in 3.3 seconds Worker Launch took: 0.0920000076294 Job: 1 Convert book 1 of 1 (ウィングス 2017年10月号[期間限定]) finished Convert book 1 of 1 (ウィングス 2017年10月号[期間限定]) Resolved conversion options calibre version: 2.36.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’C:\Users\Michael\AppData\Local\Temp\calibre_hamz0x\fi0gjd.jpeg’, ‘debug_pipeline’: None, ‘dehyphenate’: True, ‘delete_blank_paragraphs’: True, ‘disable_font_rescaling’: 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’: <calibre.customize.profiles.InputProfile object at 0x043ECDB0>, ‘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, ‘no_chapters_in_toc’: False, ‘no_inline_navbars’: False, ‘output_profile’: <calibre.customize.profiles.GenericEink object at 0x043ECFB0>, ‘page_breaks_before’: u”//*[name()=’h1′ or name()=’h2′]”, ‘prefer_metadata_cover’: False, ‘pretty_print’: True, ‘pubdate’: None, ‘publisher’: None, ‘rating’: None, ‘read_metadata_from_opf’: u’C:\Users\Michael\AppData\Local\Temp\calibre_hamz0x\l2dten.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, ‘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, ‘template_css’: None, ‘template_html’: None, ‘template_html_index’: None, ‘timestamp’: None, ‘title’: None, ‘title_sort’: None, ‘toc_filter’: None, ‘toc_threshold’: 6, ‘unsmarten_punctuation’: False, ‘unwrap_lines’: True, ‘use_auto_toc’: False, ‘verbose’: 2} InputFormatPlugin: MOBI Input running on C:UsersMichaelAppDataLocalTempcalibre_hamz0xxyoy8u.azw Found KF8 MOBI of type ‘standalone’ Python function terminated unexpectedly ウィングス 2017年10月号[期間限定] (Error Code: 1) Traceback (most recent call last): File “site.py”, line 132, in main File “site.py”, line 109, in run_entry_point File “site-packagescalibreutilsipcworker.py”, line 193, in main File “site-packagescalibregui2convertgui_conversion.py”, line 31, in gui_convert_override File “site-packagescalibregui2convertgui_conversion.py”, line 25, in gui_convert File “site-packagescalibreebooksconversionplumber.py”, line 1042, in run File “site-packagescalibrecustomizeconversion.py”, line 241, in call File “site-packagescalibreebooksconversionpluginsmobi_input.py”, line 43, in convert File “site-packagescalibreebooksmobireadermobi8.py”, line 81, in call File “site-packagescalibreebooksmobireadermobi6.py”, line 143, in check_for_drm calibre.ebooks.DRMError: ウィングス 2017年10月号[期間限定] .azw after dropping it on the DeDRM_Target.bat, dropping it into Calibre, converting to zip (successful): calibre Debug log calibre 2.36 isfrozen: True is64bit: False Windows-7-6.1.7601-SP1 Windows (’32bit’, ‘WindowsPE’) 32bit process running on 64bit windows (‘Windows’, ‘7’, ‘6.1.7601’) Python 2.7.9 Windows: (‘7’, ‘6.1.7601’, ‘SP1’, ‘Multiprocessor Free’) Successfully initialized third party plugins: DeDRM && Save To Format && Goodreads Sync && Generate Cover && Open With && Find Duplicates && Obok DeDRM && Goodreads && Favourites Menu && Clipboard Search && Count Pages Starting up… Traceback (most recent call last): File “site-packagescalibregui2ui.py”, line 151, in init File “site-packagescalibregui2ui.py”, line 165, in init_iaction File “site-packagescalibrecustomize__init__.py”, line 582, in load_actual_plugin File “importlib__init__.py”, line 37, in import_module File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.savetoformat.savetoformataction”, line 3, in File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.savetoformat.gui.prompt”, line 5, in ImportError: cannot import name NONE Traceback (most recent call last): File “site-packagescalibregui2ui.py”, line 151, in init File “site-packagescalibregui2ui.py”, line 165, in init_iaction File “site-packagescalibrecustomize__init__.py”, line 582, in load_actual_plugin File “importlib__init__.py”, line 37, in import_module File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.goodreads_sync.action”, line 12, in ImportError: No module named PyQt4.Qt Traceback (most recent call last): File “site-packagescalibregui2ui.py”, line 151, in init File “site-packagescalibregui2ui.py”, line 165, in init_iaction File “site-packagescalibrecustomize__init__.py”, line 582, in load_actual_plugin File “importlib__init__.py”, line 37, in import_module File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.generate_cover.action”, line 15, in File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.generate_cover.config”, line 12, in ImportError: No module named PyQt4.Qt Traceback (most recent call last): File “site-packagescalibregui2ui.py”, line 151, in init File “site-packagescalibregui2ui.py”, line 165, in init_iaction File “site-packagescalibrecustomize__init__.py”, line 582, in load_actual_plugin File “importlib__init__.py”, line 37, in import_module File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.open_with.action”, line 13, in ImportError: No module named PyQt4.Qt Traceback (most recent call last): File “site-packagescalibregui2ui.py”, line 151, in init File “site-packagescalibregui2ui.py”, line 165, in init_iaction File “site-packagescalibrecustomize__init__.py”, line 582, in load_actual_plugin File “importlib__init__.py”, line 37, in import_module File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.find_duplicates.action”, line 11, in ImportError: No module named PyQt4.Qt DEBUG: 0.0 obok::utilities.py – loading translations DEBUG: 0.0 obok::dialogs.py – loading translations DEBUG: 0.0 obok::config.py – loading translations DEBUG: 0.0 obok::action_err.py – loading translations Traceback (most recent call last): File “site-packagescalibregui2ui.py”, line 151, in init File “site-packagescalibregui2ui.py”, line 165, in init_iaction File “site-packagescalibrecustomize__init__.py”, line 582, in load_actual_plugin File “importlib__init__.py”, line 37, in import_module File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.favourites_menu.action”, line 11, in ImportError: No module named PyQt4.Qt Traceback (most recent call last): File “site-packagescalibregui2ui.py”, line 151, in init File “site-packagescalibregui2ui.py”, line 165, in init_iaction File “site-packagescalibrecustomize__init__.py”, line 582, in load_actual_plugin File “importlib__init__.py”, line 37, in import_module File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.clipboard_search.action”, line 11, in ImportError: No module named PyQt4.Qt Traceback (most recent call last): File “site-packagescalibregui2ui.py”, line 151, in init File “site-packagescalibregui2ui.py”, line 165, in init_iaction File “site-packagescalibrecustomize__init__.py”, line 582, in load_actual_plugin File “importlib__init__.py”, line 37, in import_module File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.count_pages.action”, line 5, in File “site-packagescalibrecustomizezipplugin.py”, line 179, in load_module File “calibre_plugins.count_pages.config”, line 11, in ImportError: No module named PyQt4.Qt Failed to check for calibre update: [Errno 10051] A socket operation was attempted to an unreachable network Failed to check for plugin update: Started up in 3.54 seconds with 12 books DeDRM v6.5.5: Trying to decrypt B072N2VTQK_EBOK_nodrm.azw3 Using Library AlfCrypto DLL/DYLIB/SO MobiDeDrm v0.42. Copyright ツゥ 2008-2017 The Dark Reverser, Apprentice Harper et al. Decrypting Kindle Format 8 ebook: 繧ヲ繧」繝ウ繧ー繧ケ 2017蟷エ10譛亥捷・サ譛滄俣髯仙ョ夲シス Found 6 keys to try after 0.2 seconds Crypto Type is: 0 This book is not encrypted. Decryption succeeded after 0.2 seconds DeDRM v6.5.5: Finished after 0.9 seconds Added ウィングス 2017年10月号[期間限定] to db in: 1.6 Added 1 books in 4.5 seconds Worker Launch took: 0.0869998931885 Job: 1 Convert book 1 of 1 (ウィングス 2017年10月号[期間限定]) finished Convert book 1 of 1 (ウィングス 2017年10月号[期間限定]) Resolved conversion options calibre version: 2.36.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’C:\Users\Michael\AppData\Local\Temp\calibre_pg35p9\7l5vrg.jpeg’, ‘debug_pipeline’: None, ‘dehyphenate’: True, ‘delete_blank_paragraphs’: True, ‘disable_font_rescaling’: 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’: <calibre.customize.profiles.InputProfile object at 0x04438DB0>, ‘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, ‘no_chapters_in_toc’: False, ‘no_inline_navbars’: False, ‘output_profile’: <calibre.customize.profiles.GenericEink object at 0x04438FB0>, ‘page_breaks_before’: u”//*[name()=’h1′ or name()=’h2′]”, ‘prefer_metadata_cover’: False, ‘pretty_print’: True, ‘pubdate’: None, ‘publisher’: None, ‘rating’: None, ‘read_metadata_from_opf’: u’C:\Users\Michael\AppData\Local\Temp\calibre_pg35p9\2539nf.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, ‘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, ‘template_css’: None, ‘template_html’: None, ‘template_html_index’: None, ‘timestamp’: None, ‘title’: None, ‘title_sort’: None, ‘toc_filter’: None, ‘toc_threshold’: 6, ‘unsmarten_punctuation’: False, ‘unwrap_lines’: True, ‘use_auto_toc’: False, ‘verbose’: 2} InputFormatPlugin: MOBI Input running on C:UsersMichaelAppDataLocalTempcalibre_pg35p9ovkphx.azw3 Found KF8 MOBI of type ‘standalone’ Extracting text… Parsing all content… Parsing text/part0504.html … Parsing text/part0734.html … Parsing text/part0059.html … Parsing text/part0529.html … Parsing text/part0249.html … Parsing text/part0531.html … Parsing text/part0250.html … Parsing text/part0532.html … Parsing text/part0251.html … Parsing text/part0534.html … Parsing text/part0535.html … Parsing text/part0252.html … Parsing text/part0537.html … Parsing text/part0253.html … Parsing text/part0538.html … Parsing text/part0254.html … Parsing text/part0540.html … Parsing text/part0541.html … Parsing text/part0255.html … Parsing text/part0543.html … Parsing text/part0256.html … Parsing text/part0544.html … Parsing text/part0590.html … Parsing text/part0257.html … Parsing text/part0546.html … Parsing text/part0547.html … Parsing text/part0258.html … Parsing text/part0548.html … Parsing text/part0549.html … Parsing text/part0259.html … Parsing text/part0550.html … Parsing text/part0551.html … Parsing text/part0260.html … Parsing text/part0552.html … Parsing text/part0553.html … Parsing text/part0261.html … Parsing text/part0555.html … Parsing text/part0262.html … Parsing text/part0556.html … Parsing text/part0263.html … Parsing text/part0558.html … Parsing text/part0559.html … Parsing text/part0264.html … Parsing text/part0561.html … Parsing text/part0265.html … Parsing text/part0562.html … Parsing text/part0266.html … Parsing text/part0564.html … Parsing text/part0565.html … Parsing text/part0267.html … Parsing text/part0566.html … Parsing text/part0567.html … Parsing text/part0268.html … Parsing text/part0568.html … Parsing text/part0404.html … Parsing text/part0269.html … Parsing text/part0570.html … Parsing text/part0571.html … Parsing text/part0270.html … Parsing text/part0573.html … Parsing text/part0271.html … Parsing text/part0574.html … Parsing text/part0575.html … Parsing text/part0272.html … Parsing text/part0576.html … Parsing text/part0577.html … Parsing text/part0273.html … Parsing text/part0281.html … Parsing text/part0579.html … Parsing text/part0274.html … Parsing text/part0580.html … Parsing text/part0275.html … Parsing text/part0582.html … Parsing text/part0583.html … Parsing text/part0276.html … Parsing text/part0585.html … Parsing text/part0277.html … Parsing text/part0586.html … Parsing text/part0587.html … Parsing text/part0278.html … Parsing text/part0588.html … Parsing text/part0589.html … Parsing text/part0279.html … Parsing text/part0591.html … Parsing text/part0280.html … Parsing text/part0402.html … Parsing text/part0403.html … Parsing text/part0407.html … Parsing text/part0405.html … Parsing text/part0406.html … Parsing text/part0408.html … Parsing text/part0409.html … Parsing text/part0411.html … Parsing text/part0412.html … Parsing text/part0414.html … Parsing text/part0415.html … Parsing text/part0417.html … Parsing text/part0418.html … Parsing text/part0420.html … Parsing text/part0421.html … Parsing text/part0422.html … Parsing text/part0423.html … Parsing text/part0424.html … Parsing text/part0426.html … Parsing text/part0427.html … Parsing text/part0429.html … Parsing text/part0430.html … Parsing text/part0432.html … Parsing text/part0433.html … Parsing text/part0435.html … Parsing text/part0436.html … Parsing text/part0438.html … Parsing text/part0439.html … Parsing text/part0440.html … Parsing text/part0441.html … Parsing text/part0442.html … Parsing text/part0443.html … Parsing text/part0445.html … Parsing text/part0446.html … Parsing text/part0448.html … Parsing text/part0449.html … Parsing text/part0451.html … Parsing text/part0452.html … Parsing text/part0453.html … Parsing text/part0454.html … Parsing text/part0455.html … Parsing text/part0456.html … Parsing text/part0457.html … Parsing text/part0458.html … Parsing text/part0459.html … Parsing text/part0460.html … Parsing text/part0461.html … Parsing text/part0463.html … Parsing text/part0464.html … Parsing text/part0593.html … Parsing text/part0595.html … Parsing text/part0410.html … Parsing text/part0147.html … Parsing text/part0599.html … Parsing text/part0297.html … Parsing text/part0601.html … Parsing text/part0603.html … Parsing text/part0151.html … Parsing text/part0606.html … Parsing text/part0152.html … Parsing text/part0325.html … Parsing text/part0605.html … Parsing text/part0153.html … Parsing text/part0611.html … Parsing text/part0413.html … Parsing text/part0592.html … Parsing text/part0145.html … Parsing text/part0594.html … Parsing text/part0146.html … Parsing text/part0596.html … Parsing text/part0597.html … Parsing text/part0229.html … Parsing text/part0598.html … Parsing text/part0148.html … Parsing text/part0600.html … Parsing text/part0149.html … Parsing text/part0602.html … Parsing text/part0150.html … Parsing text/part0604.html … Parsing text/part0530.html … Parsing text/part0615.html … Parsing text/part0607.html … Parsing text/part0608.html … Parsing text/part0177.html … Parsing text/part0609.html … Parsing text/part0610.html … Parsing text/part0154.html … Parsing text/part0612.html … Parsing text/part0155.html … Parsing text/part0614.html … Parsing text/part0156.html … Parsing text/part0616.html … Parsing text/part0157.html … Parsing text/part0617.html … Parsing text/part0158.html … Parsing text/part0620.html … Parsing text/part0159.html … Parsing text/part0622.html … Parsing text/part0160.html … Parsing text/part0533.html … Parsing text/part0161.html … Parsing text/part0626.html … Parsing text/part0178.html … Parsing text/part0162.html … Parsing text/part0179.html … Parsing text/part0628.html … Parsing text/part0163.html … Parsing text/part0619.html … Parsing text/part0164.html … Parsing text/part0632.html … Parsing text/part0165.html … Parsing text/part0634.html … Parsing text/part0166.html … Parsing text/part0636.html … Parsing text/part0167.html … Parsing text/part0638.html … Parsing text/part0168.html … Parsing text/part0640.html … Parsing text/part0169.html … Parsing text/part0621.html … Parsing text/part0289.html … Parsing text/part0170.html … Parsing text/part0644.html … Parsing text/part0171.html … Parsing text/part0053.html … Parsing text/part0646.html … Parsing text/part0172.html … Parsing text/part0648.html … Parsing text/part0173.html … Parsing text/part0650.html … Parsing text/part0174.html … Parsing text/part0652.html … Parsing text/part0175.html … Parsing text/part0623.html … Parsing text/part0176.html … Parsing text/part0539.html … Parsing text/part0624.html … Parsing text/part0625.html … Parsing text/part0416.html … Parsing text/part0542.html … Parsing text/part0627.html … Parsing text/part0629.html … Parsing text/part0545.html … Parsing text/part0630.html … Parsing text/part0631.html … Parsing text/part0290.html … Parsing text/part0633.html … Parsing text/part0536.html … Parsing text/part0635.html … Parsing text/part0637.html … Parsing text/part0639.html … Parsing text/part0641.html … Parsing text/part0419.html … Parsing text/part0557.html … Parsing text/part0642.html … Parsing text/part0643.html … Parsing text/part0560.html … Parsing text/part0073.html … Parsing text/part0074.html … Parsing text/part0076.html … Parsing text/part0079.html … Parsing text/part0107.html … Parsing text/part0081.html … Parsing text/part0108.html … Parsing text/part0563.html … Parsing text/part0082.html … Parsing text/part0083.html … Parsing text/part0084.html … Parsing text/part0104.html … Parsing text/part0613.html … Parsing text/part0085.html … Parsing text/part0086.html … Parsing text/part0087.html … Parsing text/part0088.html … Parsing text/part0089.html … Parsing text/part0105.html … Parsing text/part0090.html … Parsing text/part0091.html … Parsing text/part0093.html … Parsing text/part0094.html … Parsing text/part0095.html … Parsing text/part0096.html … Parsing text/part0097.html … Parsing text/part0098.html … Parsing text/part0109.html … Parsing text/part0099.html … Parsing text/part0569.html … Parsing text/part0100.html … Parsing text/part0103.html … Parsing text/part0572.html … Parsing text/part0581.html … Parsing text/part0618.html … Parsing text/part0217.html … Parsing text/part0218.html … Parsing text/part0465.html … Parsing text/part0466.html … Parsing text/part0467.html … Parsing text/part0468.html … Parsing text/part0469.html … Parsing text/part0470.html … Parsing text/part0471.html … Parsing text/part0472.html … Parsing text/part0473.html … Parsing text/part0474.html … Parsing text/part0475.html … Parsing text/part0476.html … Parsing text/part0477.html … Parsing text/part0478.html … Parsing text/part0479.html … Parsing text/part0480.html … Parsing text/part0481.html … Parsing text/part0482.html … Parsing text/part0484.html … Parsing text/part0485.html … Parsing text/part0487.html … Parsing text/part0488.html … Parsing text/part0490.html … Parsing text/part0491.html … Parsing text/part0492.html … Parsing text/part0493.html … Parsing text/part0494.html … Parsing text/part0495.html … Parsing text/part0496.html … Parsing text/part0497.html … Parsing text/part0655.html … Parsing text/part0498.html … Parsing text/part0499.html … Parsing text/part0500.html … Parsing text/part0502.html … Parsing text/part0503.html … Parsing text/part0223.html … Parsing text/part0505.html … Parsing text/part0506.html … Parsing text/part0507.html … Parsing text/part0508.html … Parsing text/part0509.html … Parsing text/part0510.html … Parsing text/part0511.html … Parsing text/part0512.html … Parsing text/part0513.html … Parsing text/part0514.html … Parsing text/part0515.html … Parsing text/part0516.html … Parsing text/part0517.html … Parsing text/part0518.html … Parsing text/part0520.html … Parsing text/part0521.html … Parsing text/part0522.html … Parsing text/part0523.html … Parsing text/part0524.html … Parsing text/part0525.html … Parsing text/part0526.html … Parsing text/part0527.html … Parsing text/part0528.html … Parsing text/part0110.html … Parsing text/part0111.html … Parsing text/part0112.html … Parsing text/part0113.html … Parsing text/part0143.html … Parsing text/part0114.html … Parsing text/part0116.html … Parsing text/part0117.html … Parsing text/part0118.html … Parsing text/part0119.html … Parsing text/part0120.html … Parsing text/part0121.html … Parsing text/part0122.html … Parsing text/part0123.html … Parsing text/part0142.html … Parsing text/part0124.html … Parsing text/part0125.html … Parsing text/part0126.html … Parsing text/part0127.html … Parsing text/part0128.html … Parsing text/part0129.html … Parsing text/part0130.html … Parsing text/part0144.html … Parsing text/part0131.html … Parsing text/part0132.html … Parsing text/part0133.html … Parsing text/part0134.html … Parsing text/part0135.html … Parsing text/part0136.html … Parsing text/part0137.html … Parsing text/part0138.html … Parsing text/part0139.html … Parsing text/part0140.html … Parsing text/part0141.html … Parsing text/part0014.html … Parsing text/part0016.html … Parsing text/part0017.html … Parsing text/part0019.html … Parsing text/part0020.html … Parsing text/part0021.html … Parsing text/part0298.html … Parsing text/part0022.html … Parsing text/part0232.html … Parsing text/part0036.html … Parsing text/part0035.html … Parsing text/part0584.html … Parsing styles/0001.css … Parsing text/part0034.html … Parsing styles/0002.css … Parsing text/part0032.html … Parsing text/part0012.html … Parsing text/part0031.html … Parsing text/part0000.html … Parsing text/part0001.html … Parsing text/part0002.html … Parsing text/part0028.html … Parsing text/part0003.html … Parsing text/part0434.html … Parsing text/part0004.html … Parsing text/part0029.html … Parsing text/part0005.html … Parsing text/part0006.html … Parsing text/part0007.html … Parsing text/part0027.html … Parsing text/part0008.html … Parsing text/part0026.html … Parsing text/part0235.html … Parsing text/part0009.html … Parsing text/part0025.html … Parsing text/part0010.html … Parsing text/part0037.html … Parsing text/part0024.html … Parsing text/part0013.html … Parsing text/part0011.html … Parsing text/part0486.html … Parsing text/part0489.html … Parsing text/part0554.html … Parsing text/part0238.html … Parsing text/part0213.html … Parsing text/part0241.html … Parsing text/part0334.html … Parsing text/part0248.html … Parsing text/part0501.html … Parsing text/part0215.html … Parsing text/part0216.html … Parsing text/part0335.html … Parsing text/part0219.html … Parsing text/part0221.html … Parsing text/part0222.html … Parsing text/part0224.html … Parsing text/part0225.html … Parsing text/part0226.html … Parsing text/part0227.html … Parsing text/part0228.html … Parsing text/part0230.html … Parsing text/part0231.html … Parsing text/part0233.html … Parsing text/part0212.html … Parsing text/part0234.html … Parsing text/part0236.html … Parsing text/part0237.html … Parsing text/part0239.html … Parsing text/part0240.html … Parsing text/part0242.html … Parsing text/part0243.html … Parsing text/part0244.html … Parsing text/part0245.html … Parsing text/part0246.html … Parsing text/part0336.html … Parsing text/part0519.html … Parsing text/part0282.html … Parsing text/part0317.html … Parsing text/part0284.html … Parsing text/part0214.html … Parsing text/part0319.html … Parsing text/part0320.html … Parsing text/part0349.html … Parsing text/part0321.html … Parsing text/part0288.html … Parsing text/part0323.html … Parsing text/part0324.html … Parsing text/part0425.html … Parsing text/part0291.html … Parsing text/part0292.html … Parsing text/part0293.html … Parsing text/part0328.html … Parsing text/part0329.html … Parsing text/part0330.html … Parsing text/part0331.html … Parsing text/part0332.html … Parsing text/part0299.html … Parsing text/part0428.html … Parsing text/part0300.html … Parsing text/part0348.html … Parsing text/part0301.html … Parsing text/part0302.html … Parsing text/part0337.html … Parsing text/part0338.html … Parsing text/part0041.html … Parsing text/part0305.html … Parsing text/part0340.html … Parsing text/part0315.html … Parsing text/part0341.html … Parsing text/part0314.html … Parsing text/part0308.html … Parsing text/part0431.html … Parsing text/part0309.html … Parsing text/part0304.html … Parsing text/part0344.html … Parsing text/part0345.html … Parsing text/part0346.html … Parsing text/part0313.html … Parsing text/part0115.html … Parsing text/part0437.html … Parsing text/part0339.html … Parsing text/part0444.html … Parsing text/part0072.html … Parsing text/part0483.html … Parsing text/part0447.html … Parsing text/part0450.html … Parsing text/part0075.html … Parsing text/part0294.html … Parsing text/part0306.html … Parsing text/part0728.html … Parsing text/part0077.html … Parsing text/part0078.html … Parsing text/part0733.html … Parsing text/part0080.html … Parsing text/part0307.html … Parsing text/part0462.html … Parsing text/part0737.html … Parsing text/part0180.html … Parsing text/part0740.html … Parsing text/part0181.html … Parsing text/part0182.html … Parsing text/part0183.html … Parsing text/part0316.html … Parsing text/part0184.html … Parsing text/part0185.html … Parsing text/part0186.html … Parsing text/part0187.html … Parsing text/part0188.html … Parsing text/part0189.html … Parsing text/part0283.html … Parsing text/part0743.html … Parsing text/part0190.html … Parsing text/part0191.html … Parsing text/part0192.html … Parsing text/part0193.html … Parsing text/part0645.html … Parsing text/part0194.html … Parsing text/part0195.html … Parsing text/part0318.html … Parsing text/part0196.html … Parsing text/part0197.html … Parsing text/part0198.html … Parsing text/part0746.html … Parsing text/part0199.html … Parsing text/part0342.html … Parsing text/part0200.html … Parsing text/part0201.html … Parsing text/part0285.html … Parsing text/part0202.html … Parsing text/part0203.html … Parsing text/part0204.html … Parsing text/part0205.html … Parsing text/part0206.html … Parsing text/part0207.html … Parsing text/part0286.html … Parsing text/part0208.html … Parsing text/part0209.html … Parsing text/part0210.html … Parsing text/part0211.html … Parsing text/part0720.html … Parsing text/part0721.html … Parsing text/part0287.html … Parsing text/part0723.html … Parsing text/part0724.html … Parsing text/part0726.html … Parsing text/part0727.html … Parsing text/part0719.html … Parsing text/part0730.html … Parsing text/part0732.html … Parsing text/part0322.html … Parsing text/part0735.html … Parsing text/part0736.html … Parsing text/part0738.html … Parsing text/part0739.html … Parsing text/part0741.html … Parsing text/part0647.html … Parsing text/part0742.html … Parsing text/part0744.html … Parsing text/part0745.html … Parsing text/part0343.html … Parsing text/part0665.html … Parsing text/part0092.html … Parsing text/part0326.html … Parsing text/part0327.html … Parsing text/part0015.html … Parsing text/part0295.html … Parsing text/part0722.html … Parsing text/part0296.html … Parsing text/part0018.html … Parsing text/part0649.html … Parsing text/part0656.html … Parsing text/part0657.html … Parsing text/part0658.html … Parsing text/part0659.html … Parsing text/part0660.html … Parsing text/part0106.html … Parsing text/part0661.html … Parsing text/part0662.html … Parsing text/part0663.html … Parsing text/part0664.html … Parsing text/part0666.html … Parsing text/part0667.html … Parsing text/part0668.html … Parsing text/part0669.html … Parsing text/part0670.html … Parsing text/part0651.html … Parsing text/part0671.html … Parsing text/part0672.html … Parsing text/part0673.html … Parsing text/part0674.html … Parsing text/part0333.html … Parsing text/part0675.html … Parsing text/part0676.html … Parsing text/part0677.html … Parsing text/part0678.html … Parsing text/part0679.html … Parsing text/part0680.html … Parsing text/part0681.html … Parsing text/part0682.html … Parsing text/part0683.html … Parsing text/part0684.html … Parsing text/part0685.html … Parsing text/part0686.html … Parsing text/part0687.html … Parsing text/part0101.html … Parsing text/part0688.html … Parsing text/part0689.html … Parsing text/part0690.html … Parsing text/part0691.html … Parsing text/part0692.html … Parsing text/part0693.html … Parsing text/part0694.html … Parsing text/part0695.html … Parsing text/part0578.html … Parsing text/part0696.html … Parsing text/part0697.html … Parsing text/part0698.html … Parsing text/part0699.html … Parsing text/part0102.html … Parsing text/part0700.html … Parsing text/part0023.html … Parsing text/part0701.html … Parsing text/part0702.html … Parsing text/part0703.html … Parsing text/part0704.html … Parsing text/part0705.html … Parsing text/part0706.html … Parsing text/part0707.html … Parsing text/part0708.html … Parsing text/part0709.html … Parsing text/part0710.html … Parsing text/part0220.html … Parsing text/part0711.html … Parsing text/part0712.html … Parsing text/part0713.html … Parsing text/part0714.html … Parsing text/part0715.html … Parsing text/part0716.html … Parsing text/part0725.html … Parsing text/part0717.html … Parsing text/part0718.html … Parsing text/part0303.html … Parsing text/part0653.html … Parsing text/part0654.html … Parsing text/part0033.html … Parsing text/part0310.html … Parsing text/part0311.html … Parsing text/part0312.html … Parsing text/part0729.html … Parsing text/part0347.html … Parsing text/part0030.html … Parsing text/part0038.html … Parsing text/part0039.html … Parsing text/part0040.html … Parsing text/part0042.html … Parsing text/part0043.html … Parsing text/part0044.html … Parsing text/part0045.html … Parsing text/part0046.html … Parsing text/part0047.html … Parsing text/part0048.html … Parsing text/part0049.html … Parsing text/part0071.html … Parsing text/part0050.html … Parsing text/part0051.html … Parsing text/part0052.html … Parsing text/part0054.html … Parsing text/part0055.html … Parsing text/part0056.html … Parsing text/part0057.html … Parsing text/part0058.html … Parsing text/part0060.html … Parsing text/part0061.html … Parsing text/part0062.html … Parsing text/part0731.html … Parsing text/part0063.html … Parsing text/part0064.html … Parsing text/part0065.html … Parsing text/part0066.html … Parsing text/part0070.html … Parsing text/part0067.html … Parsing text/part0068.html … Parsing text/part0069.html … Parsing text/part0350.html … Parsing text/part0351.html … Parsing text/part0352.html … Parsing text/part0353.html … Parsing text/part0354.html … Parsing text/part0364.html … Parsing text/part0355.html … Parsing text/part0363.html … Parsing text/part0356.html … Parsing text/part0357.html … Parsing text/part0358.html … Parsing text/part0359.html … Parsing text/part0360.html … Parsing text/part0361.html … Parsing text/part0362.html … Parsing text/part0365.html … Parsing text/part0366.html … Parsing text/part0367.html … Parsing text/part0368.html … Parsing text/part0369.html … Parsing text/part0370.html … Parsing text/part0371.html … Parsing text/part0372.html … Parsing text/part0373.html … Parsing text/part0374.html … Parsing text/part0375.html … Parsing text/part0376.html … Parsing text/part0377.html … Parsing text/part0378.html … Parsing text/part0379.html … Parsing text/part0380.html … Parsing text/part0381.html … Parsing text/part0382.html … Parsing text/part0383.html … Parsing text/part0384.html … Parsing text/part0385.html … Parsing text/part0386.html … Parsing text/part0247.html … Parsing text/part0387.html … Parsing text/part0388.html … Parsing text/part0389.html … Parsing text/part0390.html … Parsing text/part0391.html … Parsing text/part0392.html … Parsing text/part0393.html … Parsing text/part0394.html … Parsing text/part0395.html … Parsing text/part0396.html … Parsing text/part0397.html … Parsing text/part0398.html … Parsing text/part0399.html … Parsing text/part0400.html … Parsing text/part0401.html … Reading TOC from NCX… Merging user specified metadata… Detecting structure… Flattening CSS and remapping font sizes… Source base font size is 12.00000pt Removing fake margins… Cleaning up manifest… Trimming unused files from manifest… Trimming u’images/00748.jpeg’ from manifest Creating HTML Output… ZIP output written to C:UsersMichaelAppDataLocalTempcalibre_pg35p95_zch1.zip Thanks.
  12. I successfully installed the plugin and restarted calibre, but it is not removing DRM and can’t open the ebook. I got this kindle book from the library. Please help. Thank you

  13. I bought a DRM protected book from Kobo. The OBOK plug-in to Calibre won’t download it. The file on my Mac may be: /Users/HBrazee/Library/Application Support/Kobo/Kobo Desktop Edition/kepub/c0da1485-0013-4e6b-8ce1-5802296ce85f which is 4.9MB or maybe 27ac5195-716c-48ec-a3d6-928ddcf35d7d, which has the same time/date stamp, and is 1.1MB. Is it possible to get this broken and in my Calibre library?

        • That’s usual with a DRMed ePub. You’ll have to read it with your Digital Reader and “add” it to Calibre.

          • I tried to open my URRLink.acsm to Adobe Digital Editions 4.5 and got “Unable to download Error getting license. License Server Communication Problem: E_ADEPT_REQUEST_EXPIRED”. Checking my help, I see that my computer is already authorized. The Reader app tells me that this item has expired.

            • You have to dump ADE 4.5. There’s a good chance of getting an ePub you can not remove the DRM from. You want ADE 2.0.1. As for the error message, it’s a problem on the DRM server and will eventually be sorted.

            • Yes, use 2.0.1 if you want to be able to remove the DRM. 4.5 can use a new DRM scheme the tools don’t handle.

              How long ago did you get the .acsm file? Perhaps you’ll need to get a fresh copy.

        • Obok is still working for me.

          For the file downloaded from the website, you’ll need Adobe Digital Editions 2.0.1 authorized with an Adobe ID. And the DeDRM plugin. Open the acsm file with ADE. Then add the epub to calibre.

  14. I installed ADE and Kindle for PC via Winetricks. So I got ADE 1.72 and PC Kindle 1.17. (to get ADE 2.0, I’d have ‘use prefix made with WINEARCH=win32’ and I wouldn’t know where to start with that so I left it at 1.72.

    I installed the plugin in Calibre. But then one of 2 books from amz did not get deDRMed so I thought I must follow the steps for linux users and do #s 6 and 7 but,

    I’m zero at command lines etc. hence my glaringly ‘dumb’ question. I’m using linux pclos KDE5.
    Since i don’t know and could find any info as to the exact command to use ( WineHQ didn’t say anything specific either) .I could not do these ‘install’

    Install Python 2.7.x using msiexec /i python-2.7.8.msi. Accept all defaults.
    Install PyCrypto 2.1. Accept all defaults.

    So for #6, I right click the actual .exe file and chose ‘Open with Wine Windows Program Loader’ it got as far as choose directory to install then nothing. For # 7, I would do the same right click had #6 worked.

    Any linux users can point me in the right direction please?

    • You have to dump ADE 1.7.2 as it doesn’t fully work. You want to get ADe 2.0.1 and install that. Otherwise, some places you download DRMed ePub, it won’t work such as Overdrive and Google Play.

  15. Here’s the log for the book. Should have posted it as well. Sorry.

    QML debugging is enabled. Only use this in a safe environment.
    calibre Debug log
    calibre 3.18 embedded-python: False is64bit: True
    Linux-4.4.115-pclos1-x86_64-with-mandrake-2018-PCLinuxOS Linux (’64bit’, ‘ELF’)
    (‘Linux’, ‘4.4.115-pclos1’, ‘#1 SMP Sat Feb 3 23:48:36 CST 2018’)
    Python 2.7.9
    Linux: (‘PCLinuxOS’, ‘2018’, ‘PCLinuxOS’)
    Interface language: None
    Successfully initialized third party plugins: DeDRM (6, 5, 5)
    calibre 3.18 embedded-python: False is64bit: True
    Linux-4.4.115-pclos1-x86_64-with-mandrake-2018-PCLinuxOS Linux (’64bit’, ‘ELF’)
    (‘Linux’, ‘4.4.115-pclos1’, ‘#1 SMP Sat Feb 3 23:48:36 CST 2018’)
    Python 2.7.9
    Linux: (‘PCLinuxOS’, ‘2018’, ‘PCLinuxOS’)
    Interface language: None
    Successfully initialized third party plugins: DeDRM (6, 5, 5)
    Not controlling automatic hidpi scaling
    devicePixelRatio: 1.0
    logicalDpi: 96.0 x 96.2526315789
    physicalDpi: 95.6235294118 x 94.5931034483
    Using calibre Qt style: True
    Starting up…
    Looking for desktop notifier support from: org.freedesktop.Notifications
    org.freedesktop.Notifications found in 0.0 seconds
    Empty filename passed to function
    QML debugging is enabled. Only use this in a safe environment.
    DeDRM v6.5.5: Trying to decrypt B00MHVON80_EBOK.azw
    Using Library AlfCrypto DLL/DYLIB/SO
    MobiDeDrm v0.42.
    Copyright © 2008-2017 The Dark Reverser, Apprentice Harper et al.
    Decrypting Kindle Format 8 ebook: Wit of the Staircase
    Found 0 keys to try after 0.0 seconds
    Crypto Type is: 2
    DeDRM v6.5.5: Failed to decrypt with error: No key found in 0 keys tried.
    DeDRM v6.5.5: Looking for new default Kindle Key after 0.0 seconds
    DeDRM v6.5.5: Running kindlekey.py under Wine
    DeDRM v6.5.5: Command line: ‘WINEPREFIX=”/home/tabea” wine python.exe “/home/tabea/.config/calibre/plugins/DeDRM/libraryfiles/kindlekey.py” “/home/tabea/.config/calibre/plugins/DeDRM/libraryfiles/winekeysdir”‘
    fixme:winediag:start_process Wine Staging 2.18 is a testing version containing experimental patches.
    fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
    wine: cannot find L”C:\windows\system32\python.exe”
    DeDRM v6.5.5: Found and decrypted 0 key files
    DeDRM v6.5.5: Ultimately failed to decrypt after 0.2 seconds. Read the FAQs at Harper’s repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md
    Running file type plugin DeDRM failed with traceback:
    Traceback (most recent call last):
    File “/usr/lib64/calibre/calibre/customize/ui.py”, line 171, in _run_filetype_plugins
    nfp = plugin.run(nfp) or nfp
    File “calibre_plugins.dedrm.init“, line 618, in run
    File “calibre_plugins.dedrm.init“, line 568, in KindleMobiDecrypt
    DeDRMError: DeDRM v6.5.5: Ultimately failed to decrypt after 0.2 seconds. Read the FAQs at Harper’s repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md
    Started up in 40.42 seconds with 1569 books
    QML debugging is enabled. Only use this in a safe environment.
    Added Wit of the Staircase to db in: 1.3
    Added 1 books in 6.7 seconds
    Worker Launch took: 0.0614409446716

  16. So my buddy gave me a bunch of AZQ and KFX files off of his kindle (i grabbed them from his kindle hooked up to USB on my Mac)

    I have his serial #.. and entered it under Calibre Eink reader

    NOT WORKING..

    Any helps ?

    • Ronny, you are aware that you just publicly admitted you and your friend committed fraud and piracy, or at least intended to do so?

  17. So I installed the plug-in in calibre but I still cannot convert amazon ebooks. I read in the comments that you have to select a Kindle e ink and not a kindle fire when downloading the ebook from amazon in order to be able to convert it on calibre? I only have a kindle fire, is there a way around it?

  18. Hi folks, hoping I can get some help on this.

    I am trying to get the DRM removed from some Nook books I purchased years ago so that I can move them to my computer. The debug log is as below. I downloaded these books from my nook account on the windows 10 app on a friend’s computer and then put them on to a harddrive to get them to my computer because I do not have a PC.

    It looks like there was a problem with applying my key? But I’m not entirely sure how to decode what the exception was. Thanks in advance!

    calibre Debug log
    calibre 3.19 embedded-python: True is64bit: True
    Darwin-17.4.0-x86_64-i386-64bit Darwin (’64bit’, ”)
    (‘Darwin’, ‘17.4.0’, ‘Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64’)
    Python 2.7.12
    OSX: (‘10.13.3’, (”, ”, ”), ‘x86_64′)
    Interface language: None
    Successfully initialized third party plugins: DeDRM (6, 5, 5)
    calibre 3.19 embedded-python: True is64bit: True
    Darwin-17.4.0-x86_64-i386-64bit Darwin (’64bit’, ”)
    (‘Darwin’, ‘17.4.0’, ‘Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64’)
    Python 2.7.12
    OSX: (‘10.13.3’, (”, ”, ”), ‘x86_64’)
    Interface language: None
    Successfully initialized third party plugins: DeDRM (6, 5, 5)
    devicePixelRatio: 2.0
    logicalDpi: 72.0 x 72.0
    physicalDpi: 110.50000166 x 110.50000166
    Using calibre Qt style: True
    [0.00] Starting up…
    [0.02] Showing splash screen…
    [0.23] splash screen shown
    [0.23] Initializing db…
    [0.24] db initialized
    [0.24] Constructing main UI…
    [1.71] main UI initialized…
    [1.71] Hiding splash screen
    [1.77] splash screen hidden
    [1.77] Started up in 1.77 seconds with 1 books
    objc[37756]: Class FIFinderSyncExtensionHost is implemented in both /System/Library/PrivateFrameworks/FinderKit.framework/Versions/A/FinderKit (0x7fffafd41b68) and /System/Library/PrivateFrameworks/FileProvider.framework/OverrideBundles/FinderSyncCollaborationFileProviderOverride.bundle/Contents/MacOS/FinderSyncCollaborationFileProviderOverride (0x11a575cd8). One of the two will be used. Which one is undefined.
    DeDRM v6.5.5: Trying to decrypt 9780804177641.epub
    DeDRM v6.5.5: Verifying zip archive integrity
    DeDRM v6.5.5: “9780804177641.epub” is a secure Barnes & Noble ePub
    DeDRM v6.5.5: Trying Encryption key NookKey
    Could not decrypt NIlmmG.epub because of an exception:
    Traceback (most recent call last):
    File “calibre_plugins.dedrm.ignobleepub”, line 316, in decryptBook
    File “calibre_plugins.dedrm.ignobleepub”, line 234, in decrypt
    File “calibre_plugins.dedrm.ignobleepub”, line 224, in decompress
    error: Error -3 while decompressing: invalid distance code

    DeDRM v6.5.5: Failed to decrypt with key NookKey after 0.2 seconds
    DeDRM v6.5.5: Looking for new NOOK Study Keys after 0.2 seconds
    No nook Study log files have been found.
    DeDRM v6.5.5: Ultimately failed to decrypt after 0.2 seconds. Read the FAQs at Harper’s repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md
    Running file type plugin DeDRM failed with traceback:
    Traceback (most recent call last):
    File “site-packages/calibre/customize/ui.py”, line 171, in _run_filetype_plugins
    File “calibre_plugins.dedrm.init“, line 629, in run
    File “calibre_plugins.dedrm.init“, line 298, in ePubDecrypt
    DeDRMError: DeDRM v6.5.5: Ultimately failed to decrypt after 0.2 seconds. Read the FAQs at Harper’s repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md
    Added The City of Mirrors to db in: 0.1
    Added 1 books in 0.8 seconds

  19. I am using DeDRM with Calibre and Kindle for PC under Windows 10. No problems with my setup. I would like to DeDRM Kindle books from another account (my wife’s). I set up Kindle for PC (1.17) on another PC registered to her account and could remove DRM that way. However I would like to know if it’s possible to have the Calibre plugin work with two Amazon accounts on the same computer.

    • My wife and I have two Amazon accounts too. But I went to Amazon and configured our accounts so that when we buy Kindle books, both accounts get the books. Because of this, I can load all of the books into Calibre with my DRM removal. I don’t need a separate account.

      • Yes, Amazon Family! Definitely recommend this. Makes sharing books with one other account pretty seamless. Has to be someone like a spouse because you also have access to each others’ stored payment methods.

        You can export and import keys in DeDRM, but know that Kindle keys are device or app installation specific even for the same account.

  20. Hello! Been a user of your plugin for a long time, and it has helped me a lot. Now, suddenly it didn’t work for a certain book. I first removed your plugin (6.5.4), then downloaded the newest version (6.5.5) and installed it. Still didn’t work, so I ran Calibre in debug mode and got the below log. Your help would be much appreciated! Thanks:)

    calibre Debug log
    calibre 3.20 [64bit] embedded-python: True is64bit: True
    Windows-10-10.0.16299-SP0 Windows (’64bit’, ‘WindowsPE’)
    (‘Windows’, ’10’, ‘10.0.16299’)
    Python 2.7.12+
    Windows: (’10’, ‘10.0.16299’, ‘SP0′, u’Multiprocessor Free’)
    Interface language: en_GB
    Successfully initialized third party plugins: DeDRM (6, 5, 5)
    calibre 3.20 [64bit] embedded-python: True is64bit: True
    Windows-10-10.0.16299-SP0 Windows (’64bit’, ‘WindowsPE’)
    (‘Windows’, ’10’, ‘10.0.16299’)
    Python 2.7.12+
    Windows: (’10’, ‘10.0.16299’, ‘SP0′, u’Multiprocessor Free’)
    Interface language: en_GB
    Successfully initialized third party plugins: DeDRM (6, 5, 5)
    Turning on automatic hidpi scaling
    devicePixelRatio: 1.0
    logicalDpi: 120.0 x 120.0
    physicalDpi: 141.76744186 x 141.402061856
    Using calibre Qt style: True
    [0.00] Starting up…
    [0.00] Showing splash screen…
    [0.14] splash screen shown
    [0.14] Initializing db…
    [0.16] db initialized
    [0.16] Constructing main UI…
    [3.47] main UI initialized…
    [3.47] Hiding splash screen
    [52.70] splash screen hidden
    [52.70] Started up in 52.70 seconds with 96 books
    stdout+stderr from file dialog helper: [”, ”]
    piped data from file dialog helper: [‘\xa3\x81uY\x8c\x81\x9f\xc4\xaa\xf7@\xb6G\xba\x03)%V\x8a-(\x1d\xafIkW\xa1YT!\xc7\xb3’, ‘C:\Users\_____\Downloads\The House on Paradise Street.azw3’]
    DeDRM v6.5.5: Trying to decrypt The House on Paradise Street.azw3
    Using Library AlfCrypto Python
    MobiDeDrm v0.42.
    Copyright © 2008-2017 The Dark Reverser, Apprentice Harper et al.
    Decrypting Kindle Format 8 ebook: The House on Paradise Street
    Found 0 keys to try after 0.1 seconds
    Crypto Type is: 2
    DeDRM v6.5.5: Failed to decrypt with error: No key found in 0 keys tried.
    DeDRM v6.5.5: Looking for new default Kindle Key after 0.1 seconds
    searching for kinfoFiles in C:\Users_____\AppData\Local
    Found K4PC 1.9+ kinf2011 file: C:\Users_____\AppData\Local\Amazon\Kindle\storage.kinf2011
    Decrypted key file using IDString ‘4232318950’ and UserName ‘6c617273666e6f72’
    DeDRM v6.5.5: Found 1 new key
    MobiDeDrm v0.42.
    Copyright © 2008-2017 The Dark Reverser, Apprentice Harper et al.
    Decrypting Kindle Format 8 ebook: The House on Paradise Street
    Got DSN key from database default_key_1
    Found 4 keys to try after 0.2 seconds
    Crypto Type is: 2
    DeDRM v6.5.5: Ultimately failed to decrypt after 0.2 seconds. Read the FAQs at Harper’s repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md
    Running file type plugin DeDRM failed with traceback:
    Traceback (most recent call last):
    File “site-packages\calibre\customize\ui.py”, line 171, in _run_filetype_plugins
    File “calibre_plugins.dedrm.init“, line 618, in run
    File “calibre_plugins.dedrm.init“, line 568, in KindleMobiDecrypt
    DeDRMError: DeDRM v6.5.5: Ultimately failed to decrypt after 0.2 seconds. Read the FAQs at Harper’s repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md
    C:\Program Files\Calibre2\app\pylib.zip\dateutil\parser.py:601: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode – interpreting them as being unequal
    Added The House on Paradise Street to db in: 0.2
    Added 1 books in 1.5 seconds

  21. I am clueless on what to do with this update. I’ve read some ReadMe files, but am still clueless. Sorry that I’m so dumb, but is there a “for dummies” set of instructions?

    • Alf, just to confirm: will adding the file DeDRM_plugin.zip to Calibre overwrite previous versions of the file or do we need to remove the old DeDRM plugin first?

            • I told it to install from the downloaded .zip file and got: calibre, version 3.20.0
              ERROR: Unhandled exception: InvalidPlugin:The plugin in u’/Users/HBrazee/Downloads/DeDRM_tools_6.6.0.zip’ is invalid. It does not contain a top-level init.py file

              calibre 3.20 embedded-python: True is64bit: True
              Darwin-17.4.0-x86_64-i386-64bit Darwin (’64bit’, ”)
              (‘Darwin’, ‘17.4.0’, ‘Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64’)
              Python 2.7.12
              OSX: (‘10.13.3’, (”, ”, ”), ‘x86_64′)
              Interface language: None
              Successfully initialized third party plugins: DeDRM (6, 0, 8) && Inept Epub DeDRM (0, 1, 7) && Barnes & Noble (1, 2, 14) && KoboBooks (1, 0, 0) && Ignoble Epub DeDRM (0, 2, 3) && Obok DeDRM (3, 1, 1) && KoboTouchExtended (3, 0, 2) && Kobo Utilities (2, 6, 0) && Kobo Books (1, 3, 0) && eReader PDB 2 PML (0, 0, 6) && Inept PDF DeDRM (0, 1, 4)
              Traceback (most recent call last):
              File “site-packages/calibre/gui2/preferences/plugins.py”, line 317, in add_plugin
              File “site-packages/calibre/customize/ui.py”, line 461, in add_plugin
              File “site-packages/calibre/customize/ui.py”, line 60, in load_plugin
              File “site-packages/calibre/customize/zipplugin.py”, line 192, in load
              File “site-packages/calibre/customize/zipplugin.py”, line 290, in _locate_code
              InvalidPlugin: The plugin in u’/Users/HBrazee/Downloads/DeDRM_tools_6.6.0.zip’ is invalid. It does not contain a top-level init.py file

              • You got that after clicking on the “Load plugin from file” button and then selecting the “DeDRM_plugin.zip” file?

                I was told it had been installed successfully but I’m also using Calibre 3.21

                • OK. That was confusing me. Especially since there are directories for DeDrm_Calibre_plugin, DeDRM_Macintosh_Application, (and windows), Obok_calibre_plugin, & other tools such as Kobo. But I see that they all have older dates. So I installed everything. I expect I won’t know anything different, but am up-to-date for future needs.

                  • Howard, you should only need the DeDRM_plugin.zip file installed in Calibre. Do not unzip it but install the file as is.
                    The DeDRM_Macintosh_Application (and its Windows counterpart) are standalone applications for the appropriate OS for use without Calibre.

                  • As xromad said, you really only need the DeDRM calibre plugin. Obok is just for books downloaded with Kobo Desktop (or a Kobo ereader), but you can also download Kobo epubs with ADE 2.0.1 and use DeDRM on them instead. More than likely you can ignore everything else in there.

  22. Alf – thank you so much for your de-DRM tool, and for working on a KFX fix too. You put a lot of work into providing this brilliant service – do you have a donations page?

    Chris.

  23. Been months at trying to decrypt Neowing DRM. Appear to be epub+zip. JPGs are encrypted in some way. Able to help out Alf?

  24. Error removing DRM on one book after success on three others
    which tool was used: DeDRM
    which OS you are using: Windows10 Spring Creators Update
    where the ebook file came from (device or application): Downloaded from Amazon-Enlightenment Now: The Case for Reason, Science, Humanism, and Progress
    any error messages;
    calibre, version 2.80.0
    ERROR: KFX conversion failed:

    Cannot convert Enlightenment Now: The Case for Reason, Science, Humanism, and Progress‘unicode’ object has no attribute ‘list_symbols’

    “Cannot convert Enlightenment Now: The Case for Reason, Science, Humanism, and Progress” (penguin Publishing Group
    ‘unicode’ object has no attribute ‘list_symbols’
    a log of the DRM-removal attempt (see the FAQs on how to get a log):
    calibre Debug log
    calibre 2.80 embedded-python: True is64bit: False
    Windows-8-6.2.9200 Windows (’32bit’, ‘WindowsPE’)
    32bit process running on 64bit windows
    (‘Windows’, ‘8’, ‘6.2.9200’)
    Python 2.7.9
    Windows: (‘8’, ‘6.2.9200’, ”, ‘Multiprocessor Free’)
    Successfully initialized third party plugins: Gather KFX-ZIP File Type (from KFX Input) (1, 2, 0) && DeDRM (6, 6, 0) && Package KFX File Type (from KFX Input) (1, 2, 0) && KFX metadata reader (from KFX Input) (1, 2, 0) && KFX Input (1, 2, 0)
    devicePixelRatio: 1.0
    logicalDpi: 96.0 x 96.0
    physicalDpi: 141.76744186 x 141.402061856
    Starting up…
    Job: 1 Get device information started
    DeviceJob: 1 Get device information done, calling callback
    DeviceJob: 1 Get device information callback returned
    Job: 2 Set library information started
    DeviceJob: 2 Set library information done, calling callback
    DeviceJob: 2 Set library information callback returned
    Job: 3 Get list of books on device started
    MTP: Loading filesystem metadata…
    MTP: Ignored object: Music
    MTP: Ignored object: Ringtones
    MTP: Ignored object: Alarms
    MTP: Ignored object: Notifications
    MTP: Ignored object: Pictures
    MTP: Ignored object: Movies
    MTP: Ignored object: DCIM
    MTP: Ignored object: Android/obb
    MTP: Ignored object: Android/data/com.android.browser
    MTP: Ignored object: Android/data/com.zzx.factorytest
    MTP: Ignored object: Android/data/com.android.gallery3d
    MTP: Ignored object: Android/data/com.android.vending
    MTP: Ignored object: Android/data/com.google.android.googlequicksearchbox
    MTP: Ignored object: Android/data/com.eclipsim.gpsstatus2
    MTP: Ignored object: Android/data/com.google.android.apps.maps
    MTP: Ignored object: Android/data/com.google.android.gms
    MTP: Ignored object: Android/data/sailracer.net
    MTP: Ignored object: Android/data/co.windyapp.android
    MTP: Filesystem metadata loaded in 0.112 seconds (63 objects)
    MTP: Using cached metadata for Phone storage/Books/Book-William Langewiesche-Clock is Ticking – William Langewiesche.epub
    MTP: Using cached metadata for Phone storage/Books/MoonReader/The Gene_ An Intimate History (9314)/The Gene_ An Intimate History – Siddhartha Mukherjee.azw3
    MTP: Using cached metadata for Phone storage/Books/MoonReader/Alice_en.epub
    MTP: Using cached metadata for Phone storage/Books/MoonReader/Astrophysics for People in a Hurry – Neil deGrasse Tyson.epub
    MTP: Using cached metadata for Phone storage/Books/Gene_ An Intimate History, The – Siddhartha Mukherjee.epub
    DeviceJob: 3 Get list of books on device done, calling callback
    DeviceJob: metadata_downloaded: Starting set_books_in_library
    DeviceJob: set_books_in_library: books to process= 5
    DeviceJob: set_books_in_library finished: time= 0.00800013542175
    DeviceJob: metadata_downloaded: updating views
    DeviceJob: metadata_downloaded: syncing
    DeviceJob: metadata_downloaded: refreshing ondevice
    DeviceJob: metadata_downloaded: sending metadata_available signal
    DeviceJob: 3 Get list of books on device callback returned
    Job: 2 Set library information finished
    No details available.
    Job: 3 Get list of books on device finished
    No details available.
    Job: 1 Get device information finished
    No details available.
    Started up in 20.23 seconds with 9318 books
    stdout+stderr from file dialog helper: [”, ”]
    piped data from file dialog helper: [‘\xf58\x9e5\xb0r\x7f\xb3\n\xad\xb9mb2 \xd0\xc7\x8e\t)\x96W 8+\x8f\x96%}\x9e\xe4\x97’, ‘C:\Users\wingssail\Documents\My Kindle Content\B073TJBYTB_EBOK\B073TJBYTB_EBOK.azw’]
    Gather KFX-ZIP File Type (from KFX Input) 1.2.0: Importing C:\Users\wingssail\Documents\My Kindle Content\B073TJBYTB_EBOK\B073TJBYTB_EBOK.azw
    KFX Input: Gathered 8 files as C:\Users\WINGSS~1\AppData\Local\Temp\calibre_8cpx6k\uyot3m.kfx-zip
    DeDRM v6.6.0: Trying to decrypt uyot3m.kfx-zip
    Using Library AlfCrypto DLL/DYLIB/SO
    Decrypting KFX-ZIP ebook: uyot3m
    Found 2 keys to try after 2.1 seconds
    Decrypting KFX DRM voucher: amzn1.drm-voucher.v1.3f771145-4a19-4d9c-9f43-2c49caea3294.voucher
    KFX DRM voucher successfully decrypted
    Decrypting KFX DRMION: B073TJBYTB_EBOK.azw
    Decryption succeeded after 2.5 seconds
    DeDRM v6.6.0: Finished after 2.6 seconds
    Package KFX File Type (from KFX Input) 1.2.0: Packaging C:\Users\WINGSS~1\AppData\Local\Temp\calibre_8cpx6k\799bbw.kfx-zip
    Processing container: B073TJBYTB_EBOK.azw
    Processing container: CR!1X3PKFA4094Z71VX19S9JG7NK4YW.azw.md
    Processing container: CR!4KKEAAME7S7A5FJWZ64MA44YJ6Z5.azw.res
    Processing container: CR!CKT7T5VDY96J5430XZTWPS92ZQZ6.azw.res
    Processing container: CR!E9FEER10G917HEBS596ETBVDVW43.azw.res
    Processing container: CR!H6WC0XY0C14PXBYAGMSW8SZ3RQHZ.azw.res
    Processing container: CR!SB73C0V7416VZ7TWWMMG6334CB7P.azw.res
    kfxgen version: 7.149.1.0/PackageVersion:YJReaderSDK-1.6.2071.0 Month-Day:02-12/748
    Features: CanonicalFormat-2, kfxgen.textBlock-1, reflow-section-size-8, reflow-style-3, yj_table-1, yj_table_viewer-1
    Metadata: ASIN=B073TJBYTB, asset_id=CR!EGC114VKS93DDESX3H7634XZ4FT0, author=”Pinker, Steven”, book_id=G1DbR0cLQAuz4g1JvXbHUw1, cde_content_type=EBOK, content_id=B073TJBYTB, cover_image=1262×1920, creator_version=2.15.0, file_creator=YJConversionTools, is_sample=False, issue_date=2018-02-13, language=en, override_kindle_font=False, publisher=”Penguin Publishing Group”, reading_orders=1, selection=enabled, title=”Enlightenment Now: The Case for Reason, Science, Humanism, and Progress”
    KFX container created may be too large for some devices (16874416 bytes)
    KFX Input: Imported as C:\Users\WINGSS~1\AppData\Local\Temp\calibre_8cpx6k\gnbokd.kfx
    KFX metadata reader activated for C:\Users\WINGSS~1\AppData\Local\Temp\calibre_8cpx6k\stdq4z_add_books\0\B073TJBYTB_EBOK.kfx
    Added Enlightenment Now: The Case for Reason, Science, Humanism, and Progress to db in: 6.4
    Added 1 books in 41.2 seconds
    Worker Launch took: 0.358000040054
    Job: 4 Convert book 1 of 1 (Enlightenment Now: The Case for Reason, Science, Humanism, and Progress) finished
    Convert book 1 of 1 (Enlightenment Now: The Case for Reason, Science, Humanism, and Progress)
    Conversion options changed from defaults:
    sr2_search: None
    verbose: 2
    cover: u’C:\Users\WINGSS~1\AppData\Local\Temp\calibre_8cpx6k\kj_68f.jpeg’
    sr3_search: None
    sr1_replace: None
    read_metadata_from_opf: u’C:\Users\WINGSS~1\AppData\Local\Temp\calibre_8cpx6k\qm2cs9.opf’
    sr1_search: None
    output_profile: ‘tablet’
    sr2_replace: None
    search_replace: ‘[]’
    sr3_replace: None
    transform_css_rules: ‘[]’
    filter_css: u”
    Resolved conversion options
    calibre version: 2.80.0
    {‘allow_conversion_with_errors’: False,
    ‘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’C:\Users\WINGSS~1\AppData\Local\Temp\calibre_8cpx6k\kj_68f.jpeg’,
    ‘debug_pipeline’: None,
    ‘dehyphenate’: True,
    ‘delete_blank_paragraphs’: True,
    ‘disable_font_rescaling’: False,
    ‘dont_split_on_page_breaks’: False,
    ‘duplicate_links_in_toc’: False,
    ’embed_all_fonts’: False,
    ’embed_font_family’: None,
    ‘enable_heuristics’: False,
    ‘epub_flatten’: False,
    ‘epub_inline_toc’: False,
    ‘epub_toc_at_end’: False,
    ‘expand_css’: False,
    ‘extra_css’: None,
    ‘extract_to’: None,
    ‘filter_css’: u”,
    ‘fix_indents’: True,
    ‘flow_size’: 260,
    ‘font_size_mapping’: None,
    ‘format_scene_breaks’: True,
    ‘html_unwrap_factor’: 0.4,
    ‘input_encoding’: None,
    ‘input_profile’: <calibre.customize.profiles.InputProfile object at 0x06866290>,
    ‘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,
    ‘no_chapters_in_toc’: False,
    ‘no_default_epub_cover’: False,
    ‘no_inline_navbars’: False,
    ‘no_svg_cover’: False,
    ‘output_profile’: <calibre.customize.profiles.TabletOutput object at 0x06866870>,
    ‘page_breaks_before’: u’/’,
    ‘prefer_metadata_cover’: False,
    ‘preserve_cover_aspect_ratio’: False,
    ‘pretty_print’: True,
    ‘pubdate’: None,
    ‘publisher’: None,
    ‘rating’: None,
    ‘read_metadata_from_opf’: u’C:\Users\WINGSS~1\AppData\Local\Temp\calibre_8cpx6k\qm2cs9.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,
    ‘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,
    ‘transform_css_rules’: ‘[]’,
    ‘unsmarten_punctuation’: False,
    ‘unwrap_lines’: True,
    ‘use_auto_toc’: False,
    ‘verbose’: 2}
    InputFormatPlugin: KFX Input running
    on C:\Users\WINGSS~1\AppData\Local\Temp\calibre_8cpx6k\wakl3p.kfx
    Software versions: KFX Input 1.2.0, calibre 2.80, Windows-8-6.2.9200
    KFX Input plugin help is available at https://www.mobileread.com/forums/showthread.php?t=291290
    Converting C:\Users\WINGSS~1\AppData\Local\Temp\calibre_8cpx6k\wakl3p.kfx
    Processing container: C:\Users\WINGSS~1\AppData\Local\Temp\calibre_8cpx6k\wakl3p.kfx
    kfxgen version: 7.149.1.0/PackageVersion:YJReaderSDK-1.6.2071.0 Month-Day:02-12/748
    Features: CanonicalFormat-2, kfxgen.textBlock-1, reflow-section-size-8, reflow-style-3, yj_table-1, yj_table_viewer-1
    Metadata: ASIN=B073TJBYTB, asset_id=CR!EGC114VKS93DDESX3H7634XZ4FT0, author=”Pinker, Steven”, book_id=G1DbR0cLQAuz4g1JvXbHUw1, cde_content_type=EBOK, content_id=B073TJBYTB, cover_image=1262×1920, creator_version=2.15.0, file_creator=YJConversionTools, is_sample=False, issue_date=2018-02-13, language=en, override_kindle_font=False, publisher=”Penguin Publishing Group”, reading_orders=1, selection=enabled, title=”Enlightenment Now: The Case for Reason, Science, Humanism, and Progress”
    Converting book to EPUB 2.0
    Format is EBOK
    WARNING: Missing font family names: Futura LT Pro Book, Futura LT Pro Medium, Futura LT Pro Medium Cond, Hvl, Minion Pro, Palatino LT Pro, Scalasansot
    Python function terminated unexpectedly
    {“title”: “KFX conversion failed”, “level”: “error”, “det_msg”: “”, “msg”: “Cannot convert Enlightenment Now: The Case for Reason, Science, Humanism, and Progress‘unicode’ object has no attribute ‘list_symbols'”} (Error Code: 1)
    Traceback (most recent call last):
    File “site.py”, line 132, in main
    File “site.py”, line 109, in run_entry_point
    File “site-packages\calibre\utils\ipc\worker.py”, line 195, in main
    File “site-packages\calibre\gui2\convert\gui_conversion.py”, line 33, in gui_convert_override
    File “site-packages\calibre\gui2\convert\gui_conversion.py”, line 26, in gui_convert
    File “site-packages\calibre\ebooks\conversion\plumber.py”, line 1074, in run
    File “site-packages\calibre\customize\conversion.py”, line 245, in call
    File “calibre_plugins.kfx_input.init“, line 103, in convert
    calibre.ebooks.conversion.ConversionUserFeedBack: {“title”: “KFX conversion failed”, “level”: “error”, “det_msg”: “”, “msg”: “Cannot convert Enlightenment Now: The Case for Reason, Science, Humanism, and Progress‘unicode’ object has no attribute ‘list_symbols'”}

  25. I was trying to import a Kindle for Android e-book with a .kfx file format, but it didn’t work, as the format Calibre showed was KFX-ZIP. Am I doing something wrong, or is there just no way to remove the DRM from Kindle for Android books and convert them to another format? Below is the log:

    calibre Debug log
    calibre 3.21 embedded-python: True is64bit: False
    Windows-10-10.0.16299-SP0 Windows (’32bit’, ‘WindowsPE’)
    32bit process running on 64bit windows
    (‘Windows’, ’10’, ‘10.0.16299’)
    Python 2.7.12+
    Windows: (’10’, ‘10.0.16299’, ‘SP0′, u’Multiprocessor Free’)
    Interface language: None
    Successfully initialized third party plugins: Gather KFX-ZIP File Type (from KFX Input) (1, 2, 0) && DeDRM (6, 6, 0) && Package KFX File Type (from KFX Input) (1, 2, 0) && KFX metadata reader (from KFX Input) (1, 2, 0) && KFX Input (1, 2, 0)
    calibre 3.21 embedded-python: True is64bit: False
    Windows-10-10.0.16299-SP0 Windows (’32bit’, ‘WindowsPE’)
    32bit process running on 64bit windows
    (‘Windows’, ’10’, ‘10.0.16299’)
    Python 2.7.12+
    Windows: (’10’, ‘10.0.16299’, ‘SP0′, u’Multiprocessor Free’)
    Interface language: None
    Successfully initialized third party plugins: Gather KFX-ZIP File Type (from KFX Input) (1, 2, 0) && DeDRM (6, 6, 0) && Package KFX File Type (from KFX Input) (1, 2, 0) && KFX metadata reader (from KFX Input) (1, 2, 0) && KFX Input (1, 2, 0)
    Turning on automatic hidpi scaling
    devicePixelRatio: 1.0
    logicalDpi: 96.0 x 96.0
    physicalDpi: 92.5388994307 x 92.6756756757
    Using calibre Qt style: True
    [0.00] Starting up…
    [0.00] Showing splash screen…
    [0.06] splash screen shown
    [0.06] Initializing db…
    [0.08] db initialized
    [0.08] Constructing main UI…
    [1.50] main UI initialized…
    [1.50] Hiding splash screen
    [13.64] splash screen hidden
    [13.64] Started up in 13.64 seconds with 408 books
    DeDRM v6.6.0: Trying to decrypt B00FWOKE28.kfx-zip
    Using Library AlfCrypto Python
    Decrypting KFX-ZIP ebook: B00FWOKE28
    Found 2 keys to try after 0.0 seconds
    Decrypting KFX DRM voucher: amzn1.drm-voucher.v1.56acb1d8-56cd-427e-b50d-b55aa4c44ad0.ast
    DeDRM v6.6.0: Failed to decrypt with error: Failed to decrypt KFX DRM voucher with any key
    DeDRM v6.6.0: Looking for new default Kindle Key after 0.8 seconds
    searching for kinfoFiles in C:\Users\Kenny Chan\AppData\Local
    No K4PC kindle.info/kinf/kinf2011 files have been found.
    DeDRM v6.6.0: Ultimately failed to decrypt after 0.8 seconds. Read the FAQs at Harper’s repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md
    Running file type plugin DeDRM failed with traceback:
    Traceback (most recent call last):
    File “site-packages\calibre\customize\ui.py”, line 171, in _run_filetype_plugins
    File “calibre_plugins.dedrm.init“, line 620, in run
    File “calibre_plugins.dedrm.init“, line 570, in KindleMobiDecrypt
    DeDRMError: DeDRM v6.6.0: Ultimately failed to decrypt after 0.8 seconds. Read the FAQs at Harper’s repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md
    Package KFX File Type (from KFX Input) 1.2.0: Packaging C:/Users/Kenny Chan/Desktop/KFX/B00FWOKE28.kfx-zip
    Processing container: CR!0D05ZRH8RH7YQ7A0RRMZM129PQ3N.kfx
    Processing container: CR!1QE2C8QH596MF1NQJF2GQP89X2W9.kfx
    Processing container: CR!2BFA0R2HW53FBE921DYXD6W8084H.kfx
    Processing container: CR!3XRB5FZ7XD6BD5MS19H2BNEJGA0E.kfx
    Processing container: CR!559X20NXAN7X54MJ72MGCYXANKTE.kfx
    Processing container: CR!5GW6A1BPDN0HQ8Q74GKA97GHG9QE.kfx
    Processing container: CR!5Q3RHC3VYX3TH34K3DMBV6YN68WR.kfx
    Processing container: CR!6PNJJD115H53S98Q4CVCWXBRJ66Q.kfx
    Processing container: CR!6TZ8PSWBJS7E59D9TTM22M2QKS5F.kfx
    Processing container: CR!7CMH2AS2QN62Q2AZEH4XF99M1RD0.kfx
    Processing container: CR!7QA6SWY1CN2MH1PV8RQWBHPXDFY7.kfx
    Processing container: CR!7WWAHWXZJ51R74PEBJQPX29N47AQ.kfx
    Processing container: CR!9E9FFGNK0S4GDE8Y90ZE8AEG6RNA.kfx
    Processing container: CR!A20EW5MKM15HQFTWQBG6FRGZSXJH.kfx
    Processing container: CR!APDF6D5F890N3957H8KJ3ETXW88S.kfx
    Processing container: CR!B7FY9PM4AH4ZZ6ZR4BW83XP5CQJZ.kfx
    Processing container: CR!BJHG9FZKC15KVF8GHQ3X85QKX6Q3.kfx
    Processing container: CR!BYWS8QDERS6MZ6R797C8FSXGXASJ.kfx
    Processing container: CR!C3W7QY764H4HZDB9YMT5WRQKHN4E.kfx
    Processing container: CR!FW229VJ33137N43SBPPXPPDMZ3RZ.kfx
    Processing container: CR!GMDF52E0T53PS0K6SVE6FQ9MW1G4.kfx
    Processing container: CR!JSB70ZYM595A58GCF8MGH0RP1WCN.kfx
    Processing container: CR!K932DBYX857SZ4RG4C37J6SG7CBC.kfx
    Processing container: CR!M7DW4EXZF90AZ773B168AR1SE3Y4.kfx
    Processing container: CR!MSVSWTKZC53D5F0TSSWASE9BCR1B.kfx
    Processing container: CR!N1N207CMEH3WH2VFM387NJDS8W3B.kfx
    Processing container: CR!N3H2P8S3T93Z5F9XHRDPM9A55SW4.kfx
    Processing container: CR!N7GKM2PPP936BD5XWR0P6B23D608.kfx
    Processing container: CR!NRPTGRN4Q15D54VKM1CCX55NPBKS.kfx
    Processing container: CR!PBEYN6J2RX0HS13ETW7KV6AZTS0G.kfx
    Processing container: CR!R01J0MBEWX7FV7M91K6DSDE2ADWD.kfx
    Processing container: CR!R5DAPETPJN0WX8RV21600Z70J38P.kfx
    Processing container: CR!SK523QM4B93VZAPMKYBK30GMGBB0.kfx
    Processing container: CR!SWDSBJCQ2N1TDE4YDRD994V45R8Z.kfx
    Processing container: CR!VAQN6RXCWS0RKEMR4C6375477XJA.kfx
    Processing container: CR!VDEWKDMMR96Z58TV1RJX0W6Z8MPS.kfx
    Processing container: CR!W2TTQHBY9N31Q5PP99EZMM49KX38.kfx
    Running file type plugin Package KFX File Type (from KFX Input) failed with traceback:
    Traceback (most recent call last):
    File “site-packages\calibre\customize\ui.py”, line 171, in _run_filetype_plugins
    File “calibre_plugins.kfx_input.package_filetype”, line 22, in run
    File “calibre_plugins.kfx_input.package_filetype”, line 35, in run_kfx
    File “calibre_plugins.kfx_input.kfxlib.yj_book”, line 52, in convert_to_single_kfx
    File “calibre_plugins.kfx_input.kfxlib.yj_book”, line 118, in decode_book
    File “calibre_plugins.kfx_input.kfxlib.yj_book”, line 205, in get_container
    KFXDRMError: Book container CR!W2TTQHBY9N31Q5PP99EZMM49KX38.kfx has DRM and cannot be converted
    KFX metadata reader activated for C:/Users/Kenny Chan/Desktop/KFX/B00FWOKE28.kfx-zip
    Added The Essential Calvin and Hobbes: A Calvin and Hobbes Treasury to db in: 7.0
    Added 1 books in 11.1 seconds

      • I’ve seen others on other forums say that they’ve been able to successfully import Kindle for Android e-books into Calibre using the DeDRM tools and the KFX Input Plugin.

        • From the KFX Input MobileRead page:

          “No workable import method currently exists for Fire tablets or the Kindle for iOS/Android apps.”

          There was once a way to decrypt books from Kindle for Android, but changes to the app broke that method quite a while ago.

          • You said that changes to the app broke that method quite a while ago. In that case, since you can sideload apps on Android, would it be possible to get an older version of the app and use that one instead? If not, is there never going to be a way to decrypt e-books from Kindle for Android books?

            And from that thread, here is what one person said with regards to importing e-books from Kindle for Android:

            “First I had to locate the kfx file on my phone, which took a while. (The files were in /storage/emulated/0/Android/data/com.amazon.kindle/files but I don’t know if that’s universal I found it doing a search for .kfx.)

            Then I zipped the whole directory labelled with the B0* book ID.

            I emailed it to myself (because it beat messing around trying to set up mtpfs crap or get adb to work so I could transfer files). I also sent along with the .ticr file and the one that was just a string of numbers and characters from the files directory. (I don’t know if those two files are necessary, but I was recreating the directory structure.)

            On my desktop, where I have Calibre, I created a “KFX” directory. I dropped the .ticr file and the other in the folder root and then extracted the zipped B0* folder.

            I followed your setup directions on the desktop, used the extracted B0* directory as the import source, and bam, it worked like a charm.”

            • I don’t know. I’ve never messed with it myself. It involved making a backup file to extract the key from, and the app stopped allowing the creation of a backup file. Look in the help for the Kindle for Android section of the plugin customization for more info. Before that, people made patches to Kindle for Android which you can still find in the Other Tools folder. But I imagine those are too old to work anymore.

            • All books in KFX format are encrypted, but if the publisher has chosen to not use DRM on a particular book it will have a generic key that these tools can handle. For books that do use DRM the particular key associated with the app installation is needed in order to remove it.

              There was discussion back in December 2015 in these comments about side loading an older apk (version 4.17 or earlier) to get around the backup restriction. I don’t know if that method is still workable.

              Or if you have root access on your device you may be able find the file with the key in the app’s private storage.

              • I do have root access on my Android phone. Is there a particular place I should look for this file with the key?

                • With root maybe you can still create the backup.ab file? That’s what the Kindle for Android section of the DeDRM plugin customization asks for to get the key.

                  How did the person at that other forum get their Android key? Or was that a book that would have a generic key (as jhowell mentions)?

                  • How would I go about trying to create the backup.ab file? As for that person, I would assume that his or her book had a generic key, as there was no mention of this file needing to be created when he or she explained how he or she did it.

                    • I did a bit of research and figured out how to do it. I sideloaded an older version of the Amazon Kindle Android app, v4.15.0.48 and created the backup.ab file using the “adb backup com.amazon.kindle” command. The size of the backup.ab file created, which seems to be important, was 112 MB. I imported this file into Calibre, and since I was using an older version of the app, it used the .prc file format for the e-book I was trying to remove the DRM from. Upon importing it to Calibre, it was recognized as an .azw3 file, the DRM was removed, and I was able to open it.

                      Thanks for the suggestions! Although I’m curious if it means there is no way to remove the DRM from e-books from the newer versions of the Amazon Kindle app.

                    • I don’t think that much attention is being paid to the Kindle for Android app as a platform for DRM removal because using Kindle for PC/Mac instead is so simple and reliable.

                    • Ah, they must have stopped allowing backups before Kindle for Android supported KFX. If you allowed it to update, it might keep the same key. But more likely, it would consider it a new installation and change the key.

                      As jhowell says, there’s not much interest in supporting Kindle for Android since Kindle for PC/Mac is easier. There used to be some books which would not download to Kindle for PC/Mac, but could be downloaded to Kindle for Android or an E-ink Kindle. So for people without E-ink Kindles, a workaround for Kindle for Android was useful. Now I believe Kindle for PC/Mac can handle everything that Kindle for Android can so there’s not much reason to mess with it.

Comments are closed.