DRMLibre is a standalone, single-binary Rust CLI that removes DRM from Amazon Kindle and Adobe Digital Editions ebooks. The decryption logic is ported from DeDRM_tools (GPLv3); this project is GPL-3.0-or-later. This commit covers the first three milestones of the plan: * Phase 0 - workspace scaffold (drmlibre-core engine + drmlibre-cli), native TOML config, magic-byte/zip-content format detection, and the remove/passhash/config CLI surface with atomic output handling. * Phase 1 - Adobe ADEPT EPUB: RSA (PKCS#1 v1.5) and PassHash book-key unwrap, RMSDK>=10 hardening, AES-128-CBC content decryption, and IETF/ Adobe font de-obfuscation. Verified end-to-end with a real RSA key. * Phase 2 - Kindle MOBI/AZW/AZW3: PC1 cipher, type-1 and type-2 DRM, serial->PID derivation, EXTH header patches, and trailing-data handling. Verified end-to-end and against the upstream golden vectors. All crypto is pure Rust (RustCrypto), so the release binary has no third-party runtime dependencies. 42 tests pass; clippy and rustfmt clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.0 KiB
1.0 KiB
Credits
DRMLibre is a Rust reimplementation of the DRM-removal logic from DeDRM_tools (GPLv3). It would not exist without the reverse-engineering and code of the people behind those tools:
- The original inept (Adobe ADEPT) and ignoble (Barnes & Noble) scripts by i♥cabbages.
- The original mobidedrm and erdr2pml scripts by The Dark Reverser.
- The original Topaz DRM-removal script by CMBDTC, and the Topaz format conversion scripts by some_updates, clarknova, and Bart Simpson.
- The original KFX decryption by lulzkabulz, converted to Python by Apprentice Naomi and integrated by tomthumb1997.
- The alfcrypto library (PC1 / Topaz ciphers) by some_updates.
- The DeDRM plugin maintained by DiapDealer, Apprentice Alf, Apprentice Harper, and noDRM, plus many other contributors.
Because DRMLibre is a derivative work of GPLv3-licensed code, it is itself licensed under GPL-3.0-or-later (see LICENSE).