JMR-devandClaude Opus 4.8 9ea5a05ac6 Scrub personal book identifiers from findings doc before publishing
Replace specific ASINs, the book title, and the license voucher GUID with
generic placeholders ahead of making the repo public. No technical content
changes (the format census, vault structure, and analysis are unaffected).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 19:26:08 -05:00

DRMLibre

A standalone, single-binary command-line tool (written in Rust, no runtime dependencies) for removing DRM from Amazon Kindle and Adobe Digital Editions ebooks. The decryption logic is ported from DeDRM_tools; DRMLibre is therefore licensed GPL-3.0-or-later. See CREDITS.md.

Use DRMLibre only on books you own, to exercise your own rights (format shifting, backup, accessibility). Respect the law in your jurisdiction.

Status

Under active development. Supported / planned formats:

Capability Status
Adobe ADEPT EPUB (+ hardening, B&N PassHash, font de-obfuscation) ✅ done
Kindle MOBI / AZW / AZW3 ✅ done
Adobe key auto-extraction from installed ADE (Windows, DPAPI) ✅ done
Kindle-for-PC key (.kinf) / Android / macOS auto-extraction planned
Kindle KFX-ZIP planned
Adobe PDF, Kindle Topaz, eReader, Kobo, LCP out of scope

On Windows with Adobe Digital Editions activated, ADEPT EPUBs decrypt with no extra arguments — the key is extracted from the local install and cached in the config for later offline use.

Usage

drmlibre remove <files...> [options]   # remove DRM
drmlibre passhash ...                   # generate/extract Adobe/B&N PassHashes
drmlibre config                         # summarize keys in the config file

Common remove options: -o/--output, --outputdir, -f/--force, --overwrite, --serial, --pid, --key, --passphrase, --android-backup, --config (default ./drmlibre.toml).

Examples:

# Adobe EPUB, using an exported Adobe key:
drmlibre remove "My Book.epub" --key adobe.der -o "My Book (no DRM).epub"

# Kindle eInk book, using the device serial:
drmlibre remove "My Book.azw" --serial 0123456789ABCDEF

Architecture

A Cargo workspace:

  • crates/drmlibre-core — the UI-agnostic engine (format detection, key management, decryptors). No printing or process exits; everything is a Result and progress goes through tracing. This is what a future GUI links.
  • crates/drmlibre-cli — the drmlibre binary (argument parsing, file I/O policy, exit codes).

Building

cargo build --release      # binary at target/release/drmlibre
cargo test                 # run the test suite
S
Description
Standalone single-binary Rust CLI to remove DRM from Amazon Kindle and Adobe Digital Editions ebooks (GPLv3).
Readme GPL-3.0
130 KiB
Languages
Rust 100%