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