Commit Graph

195 Commits

Author SHA1 Message Date
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
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