Commit Graph

196 Commits

Author SHA1 Message Date
NoDRM
06648eeb1c Add support for empty arrays (<>) in PDF objects. Fixes #183. 2022-10-17 17:13:41 +02:00
NoDRM
eb45c71fd9 Cleanup 2022-09-10 11:44:55 +02:00
NoDRM
2d4c5d2c4b Fix key import sometimes generating corrupted keys.
Should fix #145, #134, #119, #116, #115, #109 and maybe others.
2022-09-10 11:42:59 +02:00
NoDRM
88b0966961 Fix tons of PDF-related issues 2022-08-07 15:58:01 +02:00
NoDRM
52cf3faa59 Fix DeACSM import for PDF files 2022-08-07 09:31:49 +02:00
NoDRM
b12e567c5f Cleanup / SafeUnbuffered bugfix 2022-08-07 09:30:24 +02:00
NoDRM
ca6d30b2d9 More stuff I missed 2022-08-06 20:25:07 +02:00
NoDRM
dfa247bf88 Cleanup 2022-08-06 20:19:36 +02:00
NoDRM
a0bb84fbfc Move unicode_argv to its own file 2022-08-06 20:19:18 +02:00
NoDRM
410e086d08 Remove AlfCrypto libraries and perform everything in Python
The old AlfCrypto DLL, SO and DYLIB files are ancient,
I don't have the systems to recompile them all, they
cause issues on ARM Macs, and I doubt with all the Python
improvements over the last years that they have a significant
performance advantage. And even if that's the case, nobody is
importing hundreds of DRM books at the same time so it shouldn't
hurt if some decryptions might take a bit longer.
2022-08-06 20:13:19 +02:00
NoDRM
de23b5c221 Move SafeUnbuffered to own Python file 2022-08-06 20:09:30 +02:00
NoDRM
1cc5d383cc Delete unused files 2022-08-06 19:56:18 +02:00
NoDRM
41df9ecda0 Fix PDF corruption in Calibre 4 (#104) 2022-08-06 15:29:45 +02:00
NoDRM
80cbaa4841 Fix ZIP attribute "external_attr" getting reset 2022-08-06 13:53:03 +02:00
NoDRM
9a11f480b5 Fix plugin crash with invalid ADE key 2022-08-03 19:49:20 +02:00
NoDRM
c15135b12f Fix RSA.import_key (fixes #101)
Apparently "import_key" only exists in newer versions (as an alias to
"importKey"). "importKey" works in all versions ...
2022-07-16 09:54:00 +02:00
NoDRM
077e8f5c2a Prepare release v10.0.3 2022-07-13 17:31:57 +02:00
NoDRM
fed8bb716b Add some Python2 compat code I forgot to add earlier 2022-07-13 17:31:57 +02:00
Yuki Liu
012ff533ab fix the regular expression 2022-04-21 12:54:17 +00:00
NoDRM
dcbb377566 Fix Nook study key retrieval 2022-03-22 15:49:44 +01:00
NoDRM
76ce6d9c5c Fix Kindle for real 2022-03-20 14:32:22 +01:00
NoDRM
726d72217e Hopefully fix Kindle books 2022-03-20 08:09:00 +01:00
NoDRM
2d51005cf1 Fix print-replica Amazon books 2022-03-19 16:41:59 +01:00
NoDRM
7eb8f07a33 Bugfix for Nook PDFs? 2022-03-19 16:02:33 +01:00
NoDRM
e4fe032e47 Some untested Python2 Kindle bugfixes 2022-03-19 15:23:07 +01:00
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