MCPcopy Index your code
hub / github.com/apprenticeharper/DeDRM_tools

github.com/apprenticeharper/DeDRM_tools @v7.2.1 sqlite

repository ↗ · DeepWiki ↗ · release v7.2.1 ↗
1,523 symbols 4,484 edges 55 files 219 documented · 14%
README

[Guide] How to remove DRM

Refer to Wiki Page

DeDRM_tools

DeDRM tools for ebooks

This is a repository that tracks all the scripts and other tools for removing DRM from ebooks that I could find, committed in date order as best as I could manage. (Except for the Requiem tools for Apple's iBooks, and Convert LIT for Microsoft's .lit ebooks.) This includes the tools from a time before Apprentice Alf had a blog, and continues through to when Apprentice Harper (with help) took over maintenance of the tools.

The individual scripts are now released as two plugins for calibre: DeDRM and Obok. The DeDRM plugin handles books that use Amazon DRM, Adobe Digital Editions DRM (version 1), Barnes & Noble DRM, and some historical formats. The Obok plugin handles Kobo DRM.

Users with calibre 5.x or later should use release 7.2.0 or later of the tools. Users with calibe 4.x or earlier should use release 6.8.x of the tools.

For the latest Amazon KFX format, users of the calibre plugin should also install the KFX Input plugin from the standard calibre plugin menu. It's also available from the MobileRead thread here: https://www.mobileread.com/forums/showthread.php?t=291290

Note that Amazon changes the DRM for KFX files frequently. What works for KFX today might not work tomorrow.

I welcome contributions from others to improve these tools, from expanding the range of books handled, improving key retrieval, to just general bug fixes, speed improvements and UI enhancements.

I urge people to read the FAQs. But to cover the most common: Use ADE 2.0.1 to be sure not to get the new DRM scheme that these tools can't handle. Do remember to unzip the downloaded archive to get the plugin (beta versions may be just the plugin don't unzip that). You can't load the whole tools archive into calibre.

My special thanks to all those developers who have done the hard work of reverse engineering to provide the initial tools.

Apprentice Harper.

Core symbols most depended-on inside this repo

read
called by 102
DeDRM_plugin/subasyncio.py
get
called by 72
DeDRM_plugin/ineptpdf.py
decode
called by 55
DeDRM_plugin/ineptpdf.py
close
called by 46
DeDRM_plugin/zipfilerugged.py
seek
called by 43
DeDRM_plugin/ineptpdf.py
_assert
called by 42
DeDRM_plugin/ion.py
write
called by 35
DeDRM_plugin/ineptpdf.py
write
called by 33
DeDRM_plugin/ignoblepdf.py

Shape

Method 917
Function 324
Class 282

Languages

Python100%
TypeScript1%

Modules by API surface

DeDRM_plugin/ineptpdf.py189 symbols
DeDRM_plugin/ignoblepdf.py168 symbols
DeDRM_plugin/kindlekey.py111 symbols
DeDRM_plugin/config.py71 symbols
DeDRM_plugin/ion.py68 symbols
Obok_plugin/common_utils.py66 symbols
DeDRM_plugin/aescbc.py54 symbols
DeDRM_plugin/zipfilerugged.py51 symbols
DeDRM_plugin/ineptepub.py49 symbols
Obok_plugin/dialogs.py42 symbols
DeDRM_plugin/convert2xml.py40 symbols
DeDRM_plugin/topazextract.py34 symbols

For agents

$ claude mcp add DeDRM_tools \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact