DRM Removal Tools for eBooks

Version 6.7.0 released on 17 February, 2020

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 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.

6,260 thoughts on “DRM Removal Tools for eBooks

  1. I changed the permission of the renderer file, but then I could not re-download the KFX book from within Kindle again. This is not my first rodeo. Is there a newer DRM?

    I posted the Kindle and Calibre screenshots here.
    https://imgur.com/a/CEnCnk2

    == macOS 10.15.4 / Calibre 4.16 (KFX Input + DeDRM) / Kindle 1.28 ==

    • Newer eTextbooks published by Pearson Education are only made available in KFX format and only within Kindle apps using the latest DRM that these tools cannot handle. From the product description of that book: “This title is only compatible with Kindle for PC & Mac (versions 1.26 or later)…”

  2. p.s. I also tried the ePubor KCR Converter app with the Chrome Kindle Cloud Reader method and I couldn’t even download the book on Cloud Reader. I was reading that some replica books of print books cannot be downloaded via Kindle Cloud Reader and this appears to be the case with this book. This is a made for Kindle replica of an expensive academic print so it seems they may have some kind of special protection. However, it’s just another KFX book so there must be a way to remove DRM.

    • The latest KFX DRM cannot be removed with these tools yet. If it cannot be downloaded with Kindle for PC/Mac 1.24 or earlier, then DeDRM won’t work on it yet.

      • That sucks. Yeah I just booted into my Mojave disk and tried it with Kindle 1.23 and Kindle said I had to upgrade to the newer Kindle to be able to download the book. I couldn’t find any KFX threads about this. Only all the successes. There should be a pinned/sticky thread explicitly warning about this. This is KFX-Zip and not KFX. It is officially the Kindle 2 format and it would be good to have a thread explaining this. Unless I’ve missed it somewhere.

        Any news on upcoming releases or anything in the works?

        Thanks

        • I imagine it will eventually get figured out and incorporated into the tools here. Especially as more books are affected. But this is an all volunteer community effort so it’ll happen when it happens.

  3. Does anyone know where the source code for libalfcrypto64.so/libalfcrypto32.so is? It’s not in the source code tar.gz file..

  4. Probably not a lot of interest here, but I got the DeDRM plugin working on FreeBSD, or at least it worked for the two azw books I threw at it. There’s a minimal diff to two of the .py files, and two new “.so” files. Though I use it only for files I have purchased, I still don’t care to have my name on it, so here it is from an anon site (the first one google suggested, I don’t have any other experience with it):

    https://anonymousfiles.io/5UyR1GZ4/

    Obviously, you should not use the .so files I supply, but if you have a FreeBSD system, you can create them from alfcrypto_src.zip with the linux build script and rename appropriately.

  5. which tool was used: KFX Input, DeDRM Version 6.7.0
    which OS you are using: Windows 8.1
    where the ebook file came from (device or application): Kindle for PC 1.24.3
    any error messages: “This book has DRM” popup in Calibre

    calibre Debug log
    calibre 4.17 embedded-python: True is64bit: False
    Windows-8.1-6.3.9600-SP0 Windows (’32bit’, ‘WindowsPE’)
    32bit process running on 64bit windows
    (‘Windows’, ‘8.1’, ‘6.3.9600’)
    Python 2.7.16+
    Windows: (‘8.1’, ‘6.3.9600’, ‘SP0′, u’Multiprocessor Free’)
    Interface language: None
    Successfully initialized third party plugins: Gather KFX-ZIP (from KFX Input) (1, 31, 0) && DeDRM (6, 7, 0) && Package KFX (from KFX Input) (1, 31, 0) && KFX metadata reader (from KFX Input) (1, 31, 0) && KFX Input (1, 31, 0)
    calibre 4.17 embedded-python: True is64bit: False
    Windows-8.1-6.3.9600-SP0 Windows (’32bit’, ‘WindowsPE’)
    32bit process running on 64bit windows
    (‘Windows’, ‘8.1’, ‘6.3.9600’)
    Python 2.7.16+
    Windows: (‘8.1’, ‘6.3.9600’, ‘SP0′, u’Multiprocessor Free’)
    Interface language: None
    Successfully initialized third party plugins: Gather KFX-ZIP (from KFX Input) (1, 31, 0) && DeDRM (6, 7, 0) && Package KFX (from KFX Input) (1, 31, 0) && KFX metadata reader (from KFX Input) (1, 31, 0) && KFX Input (1, 31, 0)
    Turning on automatic hidpi scaling
    devicePixelRatio: 1.0
    logicalDpi: 96.0 x 96.0
    physicalDpi: 112.286084142 x 112.110344828
    Using calibre Qt style: True
    [0.00] Starting up…
    [0.00] Showing splash screen…
    [0.59] splash screen shown
    [0.59] Initializing db…
    [0.62] db initialized
    [0.62] Constructing main UI…
    [3.42] main UI initialized…
    [3.42] Hiding splash screen
    [5.72] splash screen hidden
    [5.72] Started up in 5.72 seconds with 161 books
    stdout+stderr from file dialog helper: [”, ”]
    piped data from file dialog helper: [‘j\xacM2(<\xd8\x13g\x8e\xc1\xe4T\x07;>\xd0\xbc7\xc3\x87\xa2\xf0\xef\xb2\x8a\x04W\x1eV\xfdl’, ‘C:\Users\Tina\Documents\My Kindle Content\B06XY2Z7BQ_EBOK\B06XY2Z7BQ_EBOK.azw’]
    Gather KFX-ZIP (from KFX Input) 1.31.0: Importing C:\Users\Tina\Documents\My Kindle Content\B06XY2Z7BQ_EBOK\B06XY2Z7BQ_EBOK.azw
    Gather KFX-ZIP (from KFX Input): Gathered 4 file(s) as C:\Users\Tina\AppData\Local\Temp\calibre_vm4bcf\v9v7ha.kfx-zip
    DeDRM v6.7.0: Trying to decrypt v9v7ha.kfx-zip
    Using Library AlfCrypto DLL/DYLIB/SO
    Decrypting KFX-ZIP ebook: v9v7ha
    Found 1 keys to try after 0.2 seconds
    Decrypting KFX DRM voucher: amzn1.drm-voucher.v1.c02ffa3e-d917-4419-bb9b-9bbe30d0c3a0.voucher
    KFX DRM voucher successfully decrypted
    DeDRM v6.7.0: Failed to decrypt with error: This book is licensed as PublicLibraryLending. These tools are intended for use on purchased books.
    DeDRM v6.7.0: Looking for new default Kindle Key after 0.2 seconds
    searching for kinfoFiles in C:\Users\Tina\AppData\Local
    Found K4PC 1.9+ kinf2011 file: C:\Users\Tina\AppData\Local\Amazon\Kindle\storage.kinf2011
    Decrypted key file using IDString ‘4137192575’ and UserName ‘54696e61’
    DeDRM v6.7.0: Found 1 new key
    Decrypting KFX-ZIP ebook: v9v7ha
    Got DSN key from database default_key_1
    Found 1 keys to try after 0.5 seconds
    Decrypting KFX DRM voucher: amzn1.drm-voucher.v1.c02ffa3e-d917-4419-bb9b-9bbe30d0c3a0.voucher
    KFX DRM voucher successfully decrypted
    DeDRM v6.7.0: 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 172, in _run_filetype_plugins
    File “calibre_plugins.dedrm.init“, line 625, in run
    File “calibre_plugins.dedrm.init“, line 575, in KindleMobiDecrypt
    DeDRMError: DeDRM v6.7.0: 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
    Package KFX (from KFX Input) 1.31.0: Packaging C:\Users\Tina\AppData\Local\Temp\calibre_vm4bcf\v9v7ha.kfx-zip
    Processing container: B06XY2Z7BQ_EBOK.azw
    Running file type plugin Package KFX (from KFX Input) failed with traceback:
    Traceback (most recent call last):
    File “site-packages\calibre\customize\ui.py”, line 172, in _run_filetype_plugins
    File “calibre_plugins.kfx_input.package_filetype”, line 21, in run
    File “calibre_plugins.kfx_input.package_filetype”, line 33, in run_kfx
    File “calibre_plugins.kfx_input.kfxlib.yj_book”, line 87, in convert_to_single_kfx
    File “calibre_plugins.kfx_input.kfxlib.yj_book”, line 160, in decode_book
    File “calibre_plugins.kfx_input.kfxlib.yj_book”, line 267, in get_container
    KFXDRMError: Book container B06XY2Z7BQ_EBOK.azw has DRM and cannot be converted
    KFX metadata reader (from KFX Input) activated for C:\Users\Tina\AppData\Local\Temp\calibre_vm4bcf\kgft9v_add_books\0\B06XY2Z7BQ_EBOK.kfx-zip
    Added The Emotionally Absent Mother, Updated and Expanded Second Edition: How to Recognize and Heal the Invisible Effects of Childhood Emotional Neglect to db in: 1.4
    Added 1 books in 3.8 seconds

    • From the log:

      Failed to decrypt with error: This book is licensed as PublicLibraryLending. These tools are intended for use on purchased books.

  6. I had this working perfectly in Calibre about a month ago. Did something change? I tried to install the plugin again but it’s still not converting the files to epub when I add them to Calibre. I’m not too computer savvy – is this what the above posts are referring to? Will that anonymous link solve all my problems?

  7. I posted my log here in early June 2020 and the comment isn’t showing up. comments from Sarah, Laura and Ed have been posted after my comment. I know my comment was submitted correctly on my end because when I tried to submit it a second time I got a message saying my comment was a duplicate.

    What gives? Does the non-approval of my comment signify my request for technical help has been denied?

    • I suspect it’s more because this isn’t a firm with staff, but a volunteer operation, and whoever checks that sort of thing hasn’t done so for a few days.

  8. I want to experiment with some changes. I’m running Linux and used git to clone the sources. I ran make_release but received errors:

    ./make_release.py 9.9.0
    Traceback (most recent call last):
    File “./make_release.py”, line 66, in
    print(make_release(version))
    File “./make_release.py”, line 42, in make_release
    shutil.make_archive(DEDRM_SRC_DIR, ‘zip’, DEDRM_SRC_DIR)
    File “/usr/lib/python3.8/shutil.py”, line 1024, in make_archive
    os.chdir(root_dir)
    FileNotFoundError: [Errno 2] No such file or directory: ‘DeDRM_Plugin’

    What am I missing?

    • Probably better to ask over at the Apprentice Harper’s GitHub. I suspect it has to do with the fact that make_release was created to deal with updating all three DeDRM tools when the stand-alone Windows and Mac apps were still supported. Since 6.7.0, it’s just the plugin.

    • Yes. But it doesn’t work with the version of Kindle for Mac which you can run on Catalina. Unless you already have things working with Mojave and are updating that machine to Catalina. Then you might be able to keep it working. And the recommended version of Adobe Digital Editions is 32-bit.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.