Commit Graph

221 Commits

Author SHA1 Message Date
NoDRM bb170688ba (Hopefully) fix WineGetKeys for Kindle 2022-03-19 15:08:36 +01:00
NoDRM b283777c0a Add back unpad to fix Python2 support 2022-03-19 10:14:45 +01:00
NoDRM 263cc1d2cf Improve error message 2022-03-19 09:17:29 +01:00
NoDRM a4689f6ac0 Make B&N plugin skip invalid hashes in Windows app 2022-03-18 17:45:07 +01:00
NoDRM 82a698edf6 Debugging for __version issue 2022-03-18 17:36:55 +01:00
NoDRM 227bda1ea6 Try to fix V3 PDF files 2022-03-18 17:29:19 +01:00
a980e066a01 c5aebcca01 Add support for "hardened" Adobe DRM
What took the most time was not reverse-engineering
the scheme, but actually finding books using it...

Closes #20, #25, #45
2022-03-18 15:45:39 +00:00
a980e066a01 a1dd63ae5f Remove OpenSSL support; only support PyCryptodome
This allows us to clean up the code a lot.

On Windows, it isn't installed by default and
most of the time not be found at all.

On M1 Macs, the kernel will kill the process instead.

Closes #33.
2022-03-18 15:45:39 +00:00
NoDRM 2b46f61eae Add empty placeholder file for LCP 2022-01-11 07:57:02 +01:00
NoDRM e54bb3f700 Fix IndexError in mobidedrm.py 2022-01-04 16:56:02 +01:00
NoDRM 5b3e3e420f Make plugin work in Calibre 6 (Qt 6) 2022-01-02 21:18:13 +01:00
NoDRM f17b255159 Add "MemoryError" to FAQ 2022-01-02 19:13:37 +01:00
NoDRM b2b55531d3 Fix FileNotFoundError during PassHash handling 2022-01-02 18:52:07 +01:00
NoDRM b84cf9aeb8 Fix libcrypto DLL path search (see #13 and #14)
Co-authored-by: Adriano Caloiaro <code@adriano.fyi>
2022-01-02 17:29:27 +01:00
NoDRM d5473f1db0 Try to fix B&N issues 2022-01-02 16:23:36 +01:00
NoDRM a275d5d819 More work on standalone version, fix plugin 2022-01-01 14:11:39 +01:00
Aldo Bleeker 5ace15e912 Python 3 fixes 2021-12-29 12:18:06 +00:00
NoDRM e0fcd99bcb Add passhash interface to CLI 2021-12-29 13:00:45 +01:00
NoDRM b11aadcca6 Bugfixes in standalone code for Calibre < 5 / Python 2 2021-12-29 11:39:48 +01:00
NoDRM dbf4b54026 Begin work on standalone version
Now the plugin ZIP file (DeDRM_plugin.zip) can be run with a normal
Python interpreter as if it were a Python file (try
`python3 DeDRM_plugin.zip --help`). This way I can begin building a
standalone version (that can run without Calibre) without having to
duplicate a ton of code.
2021-12-29 09:26:29 +01:00
NoDRM 9c40b3ce5a Cleanup 2021-12-29 09:14:35 +01:00
NoDRM 80f511ade9 Correct user pass padding, fix PDFStream export 2021-12-27 14:23:26 +01:00
NoDRM 9c6f4ecc3b Fix broken key management 2021-12-27 10:45:36 +01:00
NoDRM fbe9b5ea89 Ton of PDF DeDRM updates
- Support "Standard" and "Adobe.APS" encryptions
- Support decrypting with owner password instead of user password
- New function to return encryption filter name
- Support for V=5, R=5 and R=6 PDF files
- Support for AES256-encrypted PDF files
- Disable broken cross-reference streams in output
2021-12-27 10:45:12 +01:00
NoDRM 23a454205a Update watermark code 2021-12-27 10:39:41 +01:00
NoDRM 586609bb2c Remove ancient code to import keys from ancient plugins
There were a couple specific DRM removal plugins before the DeDRM plugin
was created. These are obsolete since a long time, there's no need to
still have the code to import their config.

If people are still using these ancient plugins, they'll have to update
to an older version of DeDRM first, and then update to the current one.
2021-12-27 10:35:02 +01:00
NoDRM 1958989487 Key retrieval updates 2021-12-25 23:35:59 +01:00
NoDRM 8986855a47 Support for extracting PassHashes from ADE 2021-12-24 14:35:53 +01:00
NoDRM 620c90b695 Update PassHash documentation 2021-12-23 15:53:52 +01:00
NoDRM 3b9c201421 Lots of B&N updates 2021-12-23 11:58:40 +01:00
NoDRM a16e66a023 Detect Kobo & Apple DRM in epubtest.py 2021-12-20 21:11:09 +01:00
NoDRM 3eb4eab18d Support importing multiple keys from ADE 2021-12-20 21:10:21 +01:00
NoDRM cdd6402b9a Fix username decryption with unicode chars in Python2 2021-12-20 21:07:44 +01:00
NoDRM 78ac98fc1b Cleanup 2021-12-20 21:06:50 +01:00
NoDRM d05594dcbc Update to v10.0.2 2021-11-29 17:06:18 +01:00
NoDRM 09a34cf7d9 Fix watermark stuff 2021-11-29 16:33:45 +01:00
Florian Bach e9a6e80e5a Fix username code for ADE key retrieval 2021-11-29 16:23:10 +01:00
Daniele Metilli 33437073d6 Fix typo in kindlekey.py that broke Mac version 2021-11-25 11:06:52 +01:00
NoDRM 2edde54c44 Fixes a bug that sometimes caused the plugin to fail 2021-11-19 12:44:10 +01:00
NoDRM a44b50d1d8 LCP support 2021-11-17 21:53:24 +01:00
NoDRM 1b391da815 Add some more watermark removal code 2021-11-17 16:17:30 +01:00
Derek Tracy 1545d76803 Support Python 2.7 and Python 3 winreg imports on Windows 2021-11-16 21:22:13 +01:00
NoDRM 5d10420422 Fix font deobfuscation for Python 2 2021-11-16 20:09:24 +01:00
NoDRM f20bede242 Auto-import keys from DeACSM plugin 2021-11-16 17:14:03 +01:00
NoDRM 39f8595139 Remove CDP watermark from EPUBs 2021-11-16 15:23:54 +01:00
NoDRM 9c41716e5e Add B&N PDF DeDRM (untested), match UUID for Adobe PDFs 2021-11-16 11:48:53 +01:00
NoDRM b4c0e33b8b Fix ADE key import through plugin settings 2021-11-16 11:21:03 +01:00
NoDRM 90910ab106 Add back Python2 support (ADEPT) 2021-11-16 11:09:03 +01:00
NoDRM 88dd1350c0 Add useful error message for the new, uncracked ADEPT DRM 2021-11-15 19:51:36 +01:00
NoDRM 40a8e4360b No longer break obfuscated fonts on DRM removal 2021-11-15 18:38:34 +01:00
NoDRM 17ccc4d1b9 Add IETF and Adobe font deobfuscation code 2021-11-15 17:59:48 +01:00
NoDRM 4a58f7017c Add old B&N algorihm (optional) just in case it's needed 2021-11-15 14:30:32 +01:00
NoDRM eae512da8c Remove library flag from MOBI book 2021-11-15 14:14:36 +01:00
matimatik 7058fbeb98 Added a code to remove Kindle watermark.
f3fbc3573e
2021-11-15 14:06:09 +01:00
NoDRM 8cd3523a17 Remove library book block 2021-11-15 13:59:20 +01:00
NoDRM cc17d9cc59 Improve key detection for PDFs, too 2021-11-15 13:38:39 +01:00
NoDRM 969fe52e13 Improve key detection 2021-11-15 11:59:56 +01:00
NoDRM 95fc924d1a Update Readme 2021-11-15 11:00:06 +01:00
NoDRM 0313088c15 Make keys fit into listbox 2021-11-15 10:56:26 +01:00
NoDRM 066e613cee Add UUID to adobekey DER file names 2021-11-15 10:47:09 +01:00
NoDRM 8e10b090a2 More PDF fixes 2021-11-15 08:40:18 +01:00
Olaf Fricke 007a8e8a15 Issue 1635: Decypting PDF ebboks fixed 2021-11-15 08:39:02 +01:00
Apprentice Harper 73af5d355d whitespace and some unicode/bytes
Minor changes.
2021-04-11 16:43:16 +01:00
Apprentice Harper 45a1a64db5 Update version and FAQs
Version 7.2.0 with all the latest pull requests, including on for the latest KFX encryption.
2021-04-11 15:28:33 +01:00
Apprentice Harper bc1c3c2197
Merge pull request #1490 from llrosy798/patch-1
update voucher envelope obfuscation table
2021-04-11 15:14:08 +01:00
Apprentice Harper 79cfddfbee
Merge pull request #1650 from romanbsd/bugfix
Python 3.x fix
2021-04-11 15:10:32 +01:00
Apprentice Harper aa41bba68c
Merge pull request #1615 from ableeker/python3
Python 3 fix
2021-04-11 15:09:39 +01:00
Apprentice Harper 01c654cb68
Merge pull request #1560 from Threak/master
Try new openssl library name
2021-04-11 14:04:04 +01:00
Apprentice Harper 5bc28623cb
Merge pull request #1546 from mkb79/master
Enhance parsing DrmIon files
2021-04-11 14:00:21 +01:00
Apprentice Harper 45eefd6c80
Merge pull request #1539 from josdion/master
Preserve filename encoding flag when fixing epub archive
2021-04-11 13:56:19 +01:00
Roman Shterenzon 33e37eb375 Python 3.x fix 2021-04-08 16:46:14 +03:00
Aldo Bleeker 4229b8ff85 Another Python 3 fix 2021-04-05 17:06:24 +02:00
Aldo Bleeker 91e4645315 Another Python 3 fix 2021-04-05 12:16:02 +02:00
Aldo Bleeker 425d8af73e Python 3 fix 2021-03-22 19:24:34 +01:00
Threak d7ddc2ab93 Try new openssl library name 2021-02-26 18:50:10 +01:00
mkb79 fd51422a36 Enhance parsing DrmIon files
Adding support for parsing plaintext in DrmIon files.

This is needed by my kindle project. When downloading an ebook with my package it gives me a metadata file wich is DrmIon encoded. This file containes plaintext instead of encrypted pages.
2021-02-22 14:16:15 +01:00
Apprentice Harper 76a47e0dd0 Version number update
Update to 7.1.0 for a full release
2021-02-21 14:35:49 +00:00
josdion ffd79d5fe4 Preserve filename encoding flag when fixing epub archive 2021-02-18 12:38:19 +02:00
Aldo Bleeker 21a7b13524 Fix for Python 3 2021-02-14 12:50:55 +01:00
Apprentice Harper 495dda3809
Merge pull request #1502 from ableeker/python3
Fix for broken book keys
2021-02-14 08:55:56 +00:00
Aldo Bleeker 33b9630ca5 Fix for broken book keys 2021-01-28 13:06:59 +01:00
xxyzz 9346f86f73
encode serialnum before returning it, close #1479 2021-01-27 14:31:05 +08:00
llrosy798 0b2b81fd23
fix previous bug 2021-01-21 23:48:04 +09:00
llrosy798 63aecc598f
update secret table 2021-01-21 23:46:03 +09:00
llrosy798 51c8be6baf
fill unknown symbols in known catalog 2021-01-21 23:41:22 +09:00
2Weak2Live 2789cee331 Fix python3 encoding problem in voucher decryption 2021-01-13 22:44:11 -05:00
Apprentice Harper a7974f0f14 Update ineptpdf.py
integer division, and version
2021-01-03 16:11:02 +00:00
Apprentice Harper ed412bee35 Updated to inept.pdf for PC
Contributed changes for PC compatibility. Thanks, Aldo.

Update main version to 7.0.2
2021-01-03 16:01:14 +00:00
Apprentice Harper 6cee615f26 Update ineptpdf.py
Fix handling of metadata
2021-01-03 15:35:17 +00:00
Apprentice Harper c4581b4d72 Version to 7.0.1, ineptpdf fixes
ineptpdf should now decrypt at least some Adobe PDFs
2020-12-30 12:14:04 +00:00
Apprentice Harper f6a568bcc1 Update ineptepub.py
Handle uncompressed elements (if any) in the zip file.
2020-12-27 12:16:11 +00:00
Apprentice Harper bf6170e613
Merge pull request #1445 from ableeker/python3
Some more fixes for ePub
2020-12-26 16:02:12 +00:00
Apprentice Harper fdf0389936 MobiDeDRM fixes
Change handling of PIDs to cope with byte arrays or strings passed in. Also fixed handling of a very old default key format.
2020-12-26 15:58:42 +00:00
Aldo Bleeker 5599c1694b Some more fixes for ePub 2020-12-26 15:36:10 +01:00
Apprentice Harper 13e9a14907
Merge pull request #1398 from xxyzz/config
return str from load_resource()
2020-12-04 12:52:42 +00:00
xxyzz a1059650f6
return str from load_resource() 2020-12-03 19:02:09 +08:00
penenkel a3cc221932
Revert changes to k4mobidedrm.py 2020-12-02 22:36:29 +01:00
penenkel 6732be1434
`getPidList()` now returns pids as bytes instead of bytearrays 2020-12-02 22:34:29 +01:00
penenkel ad5cb056f0
Add conversion from bytearray to bytes so that pids are hashable 2020-11-30 23:25:01 +01:00
Aldo Bleeker 8e436ad920 Python 3 fixes fort correct version of __init__.py 2020-11-29 16:54:45 +01:00