Epubor

Apprentice Alf DRM Removal Tools

Posted by on .
Everything you ever wanted to know about DRM and eBooks, but were afraid to ask.

apprentice drm removal toolWhat is Apprentice Alf's DRM Removal? Apprentice Alf's DRM Removal tool is developed by Apprentice for removing DRM from eBooks for free. This tool was posted and kept updated on apprentice alf's blog where you can find some professional guides on drm and ebooks, such as, what's drm, current eBook formats and drm schemes, how to remove drm from Amazon books, and so on.

If you are looking for free and simple softwares for removing drm from your books (Kindle, Kobo, Barnes and Noble, Sony, library books),Apprentice is your first choice.

In this article, I'll introduce the Apprentice Alf's DRM Removal tool package, how to install and remove DRM with it.

Apprentice Alf's DRM Removal Package

Please note Apprentice Alf's DRM Removal doesn't works as a stand-alone ebook DRM Removal tool but as the Calibre DRM Removal Plugin.

The Apprentice Alf's DRM Removal source code is also available but here I don't want to discuss because it is for those who are specializing in coding. Here I want to show you the easiest way to use this tool.

First of all, download Apprentice Alf's DRM Removal Packages.

Download Apprentice Alf's DRM Removal

You'll get a DeDRM_tools_6.7.0.zip file. Unzip this file, you'll see it contains multiple files as below picture.

apprentice drm removal tool

  • DeDRM_Plugin.zip--Remove DRM from Kindle eBooks(downloaded via Kindle for PC/MAC or Kindle eink devices) and Adobe Digitial Editions pdf/epub.
  • Obok_plugin.zip--Remove Kobo ebooks download on Mac or Windows using the Kobo desktop application or Kobo eink devices.

Actually, these two zip files are what we'll use to remove ebook drm. Just let these two zipped files alone, don't unzip them.

Install DeDRM Plugin to Calibre

It is easy to install DeDRM Plugin to Calibre if you follow my guides step-by step.

Step 1. Download & install Calibre at first.

Download Calibre for Wins Download Calibre for Mac

Step 2. Run Calibre>>Preferences>>Advanced>>Plugins, then scroll to the bottom and then click "Load plugin from file". Then choose the DeDRM_Plugin.zip or Obok_plugin.zip. But you can only add one plugin at one time. So if you want to add both DRM plugin, you need to repeat this process.

apprentice drm removal tool

Step 3. You'll be warned that this plugin might contains virus or something, just click on "Yes" because it is 100% safe and clean.

add apprentice drm removal tool to calibre

Step 4. The "success“ windows will pop up this time.

add plugin successfully

Just click ok and you'll see that the apprentice alf's drm removal has been installed successfully.

add plugin successfully

Reminder: please restart the Carlibre to make this free DRM Removal tool work properly.

Remove eBook DRM with Apprentice Alf's DRM Removal

Once the Apprentice Alf's DRM has been added successfully, next time you add books into Calibre, the drm removing job will begin soon. Then you can continue to convert your books to other formats and edit ebooks metadata.

add kindle book to calibre

For detailed steps of removing DRM from ebooks and e-ink devices, please read How to remove DRM with Calibre DRM Removal plugin.

Calibre developer center won't provide you the development of the DRM removal plugin and the support services if you met some questions. But don't worry you can get help after you read this article on Alf's blog.

This is a fantastic tool to remove DRM from eBooks, you can't deny this, right?

Important Notice:

1. Apprentice Alf's DRM removal has stopped updating 2 years ago. I mean, you must use the Calibre V5(or older version) and alf's drm plugin v6.x to help dedrm from your kindle/kobo books.

2. You can use Calibre v6 (or higher version) and No DRM fork v10.x to help remove drm from your books.

3. Alf's DRM plugin doesn't work for Nook eBooks. In this situation, you can use the Epubor Nook Converter product as the best alternative.

4. Apprentice Alf's DRM Removal is too complicated for me. I want the technical support and much easier software.

Solution: Epubor Ultimate is the best alternative to Apprentice Alf's DRM Removal tool. With the super easy user interface and 7/24 customer service, you can easy remove DRM from kindle, kobo and google play ebooks/library ebooks and convert them to any format as you like.

Download the Epubor Ultimate for free
   
author

works for Epubor and writes articles for a collection of blogs such as ebookconverter.blogspot.com.

11 Comments
reply
reply
12/31/2018 02:28:43
Your blog post is dated Nov 2018 but you reference a version that is from 2014 as being the latest?  The newest is 6.6.1 dated June 2018
reply
10/9/2019 00:44:17

"So here I recommend you an alternative to this drm removal tool: Epubor Ultimate."

and

"Ada Wang works for Epubor"

<thinking face emoji>

reply
10/9/2019 10:38:26
Thank you for your comments. There are two methods have been mentioned in this article. People can choose what they like. I know someone may like to use the complex tool but others will like something easy with good customer service. It depends. I don't think this action should be blamed.
Have a nice day!
reply
07/2/2020 00:54:42

calibre Debug log
calibre 4.18  embedded-python: True is64bit: False
Windows-10-10.0.18362-SP0 Windows ('32bit', 'WindowsPE')
32bit process running on 64bit windows
('Windows', '10', '10.0.18362')
Python 2.7.16+
Windows: ('10', '10.0.18362', 'SP0', u'Multiprocessor Free')
Interface language: en_GB
Successfully initialized third party plugins: DeDRM (6, 6, 3)
calibre 4.18  embedded-python: True is64bit: False
Windows-10-10.0.18362-SP0 Windows ('32bit', 'WindowsPE')
32bit process running on 64bit windows
('Windows', '10', '10.0.18362')
Python 2.7.16+
Windows: ('10', '10.0.18362', 'SP0', u'Multiprocessor Free')
Interface language: en_GB
Successfully initialized third party plugins: DeDRM (6, 6, 3)
Turning on automatic hidpi scaling
devicePixelRatio: 1.0
logicalDpi: 96.0 x 96.0
physicalDpi: 81.5518394649 x 81.6428571429
Using calibre Qt style: True
[0.00] Starting up...
[0.00] Showing splash screen...
[0.69] splash screen shown
[0.69] Initializing db...
[0.70] db initialized
[0.70] Constructing main UI...
[2.56] main UI initialized...
[2.56] Hiding splash screen
[9.95] splash screen hidden
[9.95] Started up in 9.95 seconds with 14 books
Storage number map:
{(7L, 0L): [(3L, 'C'), (5L, 'D')], (7L, 1L): [(1L, 'F')]}
Storage number for USBSTOR\DISK&VEN_KINDLE&PROD_INTERNAL_STORAGE&REV_0100\90C60706531308FX&0: StorageDeviceNumber(type=7L, number=1L, partition_number=0L)
Drive letters for USBDevice(vendor_id=0x1949 product_id=0x4 bcd=0x100 devid=usb\vid_1949&pid_0004&rev_0100 devinst=14)
{u'drive_letters': ['F'],
u'pnp_id_map': {'F': u'\\\\?\\usbstor#disk&ven_kindle&prod_internal_storage&rev_0100#90c60706531308fx&0#'},
u'readonly_drives': set([]),
u'sort_map': {'F': (1L, 1L)}}
Syncing cover thumbnails to workaround amazon cover bug
Job: 0 Get device information started
DeviceJob: 0 Get device information done, calling callback
DeviceJob: 0 Get device information callback returned
Job: 1 Set library information started
DeviceJob: 1 Set library information done, calling callback
DeviceJob: 1 Set library information callback returned
Job: 2 Get list of books on device started
DEBUG:    0.0 USBMS: Fetching list of books from device. Device= KINDLE2 oncard= None
DEBUG:    0.0 USBMS: dirs are: F:\ documents
DEBUG:    0.1 USBMS: scan from root False F:\documents
DEBUG:    0.4 USBMS: count found in cache: 32, count of files in metadata: 34, need_sync: True
DEBUG:    0.4 USBMS: starting sync_booklists
Job: 0 Get device information finished
No details available.
Job: 1 Set library information finished
No details available.
DEBUG:    0.5 USBMS: finished sync_booklists
DEBUG:    0.5 USBMS: Finished fetching list of books from device. oncard= None
DEBUG:    0.5 USBMS: Fetching list of books from device. Device= KINDLE2 oncard= carda
DEBUG:    0.5 USBMS: Fetching list of books from device. Device= KINDLE2 oncard= cardb
DeviceJob: 2 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= 34
DeviceJob: set_books_in_library finished: time= 0.00899982452393
DeviceJob: metadata_downloaded: updating views
DeviceJob: metadata_downloaded: syncing
DeviceJob: metadata_downloaded: refreshing ondevice
DeviceJob: metadata_downloaded: sending metadata_available signal
DeviceJob: 2 Get list of books on device callback returned
Job: 2 Get list of books on device finished
No details available.
DeDRM v6.6.3: Trying to decrypt The Family, Sex and Marriage in England 1500-1800.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: The Family, Sex and Marriage in England 1500-1800
Found 0 keys to try after 0.7 seconds
Crypto Type is: 2
DeDRM v6.6.3: Failed to decrypt with error: No key found in 0 keys tried.
DeDRM v6.6.3: Looking for new default Kindle Key after 0.7 seconds
searching for kinfoFiles in C:\Users\Geo\AppData\Local
No K4PC kindle.info/kinf/kinf2011 files have been found.
DeDRM v6.6.3: Ultimately failed to decrypt after 0.7 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 624, in run
  File "calibre_plugins.dedrm.__init__", line 574, in KindleMobiDecrypt
DeDRMError: DeDRM v6.6.3: Ultimately failed to decrypt after 0.7 seconds. Read the FAQs at Harper's repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md
Added The Family, Sex and Marriage in England 1500-1800 to db in: 1.4
Added 1 books in 3.5 seconds

I'm running windows 10
Book was bought from Amazon

reply
07/2/2020 09:02:03
For debug the dedrm tool. please leave the message to apprentice blogs.
reply
08/9/2022 11:13:56
calibre 6.2.1  embedded-python: True
Windows-10-10.0.19041-SP0 Windows ('64bit', 'WindowsPE')
('Windows', '10', '10.0.19041')
Python 3.10.1
Windows: ('10', '10.0.19041', 'SP0', 'Multiprocessor Free')
Interface language: None
Traceback (most recent call last):
  File "calibre\gui2\preferences\plugins.py", line 325, in add_plugin
  File "calibre\customize\ui.py", line 479, in add_plugin
  File "calibre\customize\ui.py", line 64, in load_plugin
  File "calibre\customize\zipplugin.py", line 309, in load
  File "importlib\__init__.py", line 126, in import_module
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "calibre\customize\zipplugin.py", line 201, in exec_module
  File "calibre\customize\zipplugin.py", line 197, in get_code
  File "calibre_plugins.dedrm.__init__", line 168
    print u" v: Copying needed library files from plugin's zip".format(PLUGIN_NAME, PLUGIN_VERSION)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
reply
08/15/2022 16:34:09
Please contact the calibre developer to get this issue fixed. Or you can try Epubor Ultimate.
reply
05/12/2023 22:29:29

calibre, version 6.17.0
ERROR: Unhandled exception: <b>SyntaxError</b>:Missing parentheses in call to 'print'. Did you mean print(...)? (calibre_plugins.dedrm.__init__, line 168)

calibre 6.17  embedded-python: True
Windows-10-10.0.19045-SP0 Windows ('64bit', 'WindowsPE')
('Windows', '10', '10.0.19045')
Python 3.10.1
Windows: ('10', '10.0.19045', 'SP0', 'Multiprocessor Free')
Interface language: None
Successfully initialized third party plugins: Obok DeDRM (6, 7, 0)
Traceback (most recent call last):
  File "calibre\gui2\preferences\plugins.py", line 325, in add_plugin
  File "calibre\customize\ui.py", line 513, in add_plugin
  File "calibre\customize\ui.py", line 64, in load_plugin
  File "calibre\customize\zipplugin.py", line 307, in load
  File "importlib\__init__.py", line 126, in import_module
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "calibre\customize\zipplugin.py", line 199, in exec_module
  File "calibre\customize\zipplugin.py", line 195, in get_code
  File "calibre_plugins.dedrm.__init__", line 168
    print u" v: Copying needed library files from plugin's zip".format(PLUGIN_NAME, PLUGIN_VERSION)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?


This is the error log that pops up when I try and install this plugin

reply
05/16/2023 09:25:33

Hello,
In this case, please contact Calibre customer service to fix the issue. Or you can try our Epubor Ultimate to decrypt and convert e-books.

Any other questions, please feel free to contact us.
Epubor Team

reply
12/29/2023 06:43:08

I'm having the same issue as it seems many others are having,
calibre, version 7.2.0
ERROR: Unhandled exception: <b>SyntaxError</b>:Missing parentheses in call to 'print'. Did you mean print(...)? (calibre_plugins.dedrm.__init__, line 168)

calibre 7.2  embedded-python: True
Windows-10-10.0.19045-SP0 Windows ('64bit', 'WindowsPE')
('Windows', '10', '10.0.19045')
Python 3.11.5
Windows: ('10', '10.0.19045', 'SP0', 'Multiprocessor Free')
Interface language: None
Traceback (most recent call last):
  File "calibre\gui2\preferences\plugins.py", line 325, in add_plugin
  File "calibre\customize\ui.py", line 513, in add_plugin
  File "calibre\customize\ui.py", line 64, in load_plugin
  File "calibre\customize\zipplugin.py", line 307, in load
  File "importlib\__init__.py", line 126, in import_module
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "calibre\customize\zipplugin.py", line 199, in exec_module
  File "calibre\customize\zipplugin.py", line 195, in get_code
  File "calibre_plugins.dedrm.__init__", line 168
    print u" v: Copying needed library files from plugin's zip".format(PLUGIN_NAME, PLUGIN_VERSION)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?


How do i contact calibre?

reply
01/31/2025 00:29:13
Personally I doubt this is on Calibre, but a question of having to update the code of your plugin to newer python standards, as can be seen in the stackoverflow discussion 25445439 stating that print has become a function, and therefor requires () ... There might be other things that need updating (and apparently Calibre is doing that, so...) Looking forward to an up to date version of this great plugin!
Thanks
reply
Leave a comment
Rating
YourName *
email
Comments UBB Editor
Home > Guide >Apprentice Alf DRM Removal Tools
mcafee badgenorton badge