Fix print-replica Amazon books

This commit is contained in:
NoDRM 2022-03-19 16:41:59 +01:00
parent 7eb8f07a33
commit 2d51005cf1
2 changed files with 5 additions and 3 deletions

View File

@ -61,4 +61,6 @@ List of changes since the fork of Apprentice Harper's repository:
- Add support for books with the new ADE3.0+ DRM by merging #48 by a980e066a01. Thanks a lot! - Add support for books with the new ADE3.0+ DRM by merging #48 by a980e066a01. Thanks a lot!
- Remove OpenSSL support, now the plugin will always use the Python crypto libraries. - Remove OpenSSL support, now the plugin will always use the Python crypto libraries.
- Obok: Fix issues with invalid UTF-8 characters by merging #26 by baby-bell. - Obok: Fix issues with invalid UTF-8 characters by merging #26 by baby-bell.
- Try to fix PDF files with V3 key obfuscation algorithm. - ineptpdf: Fix broken V=3 key obfuscation algorithm.
- ineptpdf: (Hopefully) fix issues with some B&N PDF files.
- Fix bug that corrupts output file for Print-Replica Amazon books (fixes #30).

View File

@ -453,7 +453,7 @@ class MobiBook:
if crypto_type == 0: if crypto_type == 0:
print("This book is not encrypted.") print("This book is not encrypted.")
# we must still check for Print Replica # we must still check for Print Replica
self.print_replica = (self.loadSection(1)[0:4] == '%MOP') self.print_replica = (self.loadSection(1)[0:4] == b'%MOP')
self.mobi_data = self.data_file self.mobi_data = self.data_file
return return
if crypto_type != 2 and crypto_type != 1: if crypto_type != 2 and crypto_type != 1:
@ -524,7 +524,7 @@ class MobiBook:
# print "record %d, extra_size %d" %(i,extra_size) # print "record %d, extra_size %d" %(i,extra_size)
decoded_data = PC1(found_key, data[0:len(data) - extra_size]) decoded_data = PC1(found_key, data[0:len(data) - extra_size])
if i==1: if i==1:
self.print_replica = (decoded_data[0:4] == '%MOP') self.print_replica = (decoded_data[0:4] == b'%MOP')
mobidataList.append(decoded_data) mobidataList.append(decoded_data)
if extra_size > 0: if extra_size > 0:
mobidataList.append(data[-extra_size:]) mobidataList.append(data[-extra_size:])