noDRM / DeDRM_tools

DeDRM tools for ebooks
7.05k stars 316 forks source link

Cannot de-drm Nook books (epub/PDF) even WITH key #50

Open digitalfreaknyc opened 2 years ago

digitalfreaknyc commented 2 years ago

Question / bug report

Tried to de-drm books from B&N today and it mostly did not work.

Out of the 7, 2 were DRM-free, 1 was taken care of by De-DRM and the other 3 did not work. 6 were epubs and 1 is a PDF.

When I first got them (well, 6 of the 7) in 2021, I was able to de-DRM them with no problem. Now, clearly, something has changed.

The log I'm including here is for the PDF. I can include the epub one as well.

Which version of Calibre are you running?

5.38

Which version of the DeDRM plugin are you running?

10.0.2

If applicable, which version of the Kindle software are you running?

No response

Log output

calibre Debug log
calibre 5.38 [64bit]  embedded-python: True is64bit: True
Windows-10-10.0.19041 Windows ('64bit', 'WindowsPE')
('Windows', '10', '10.0.19041')
Python 3.8.5
Windows: ('10', '10.0.19041', '', 'Multiprocessor Free')
Interface language: None
Successfully initialized third party plugins: DeDRM (10, 0, 2) && Count Pages (1, 11, 2) && KindleUnpack - The Plugin (0, 83, 1) && Obok DeDRM (10, 0, 0)
calibre 5.38 [64bit]  embedded-python: True is64bit: True
Windows-10-10.0.19041 Windows ('64bit', 'WindowsPE')
('Windows', '10', '10.0.19041')
Python 3.8.5
Windows: ('10', '10.0.19041', '', 'Multiprocessor Free')
Interface language: None
Successfully initialized third party plugins: DeDRM (10, 0, 2) && Count Pages (1, 11, 2) && KindleUnpack - The Plugin (0, 83, 1) && Obok DeDRM (10, 0, 0)
Turning on automatic hidpi scaling
devicePixelRatio: 1.0
logicalDpi: 96.0 x 96.0
physicalDpi: 141.7674418604651 x 142.13471502590673
Using calibre Qt style: True
[0.00] Starting up...
[0.00] Initializing db...
[0.05] db initialized
[0.05] Constructing main UI...
DEBUG:    0.0 obok::utilities.py - loading translations
DEBUG:    0.0 obok::dialogs.py - loading translations
DEBUG:    0.0 obok::config.py - loading translations
DEBUG:    0.0 obok::action_err.py - loading translations
[0.97] main UI initialized...
[0.97] Started up in 0.97 seconds with 1206 books
Starting QuickView
DeDRM v10.0.2: Trying to decrypt 9781454900955.pdf
DeDRM v10.0.2: 9781454900955.pdf is a PDF ebook
DeDRM v10.0.2: Trying encryption key default_key
DeDRM v10.0.2: Exception when decrypting after 0.1 seconds
Traceback (most recent call last):
  File "calibre_plugins.dedrm.__init__", line 636, in PDFDecrypt
  File "calibre_plugins.dedrm.ineptpdf", line 2322, in decryptBook
  File "calibre_plugins.dedrm.ineptpdf", line 2128, in __init__
  File "calibre_plugins.dedrm.ineptpdf", line 1504, in initialize
  File "calibre_plugins.dedrm.ineptpdf", line 1711, in initialize_ebx_inept
  File "calibre_plugins.dedrm.ineptpdf", line 399, in decrypt
  File "Crypto\Cipher\PKCS1_v1_5.py", line 165, in decrypt
ValueError: Ciphertext with incorrect length.
DeDRM v10.0.2: Failed to decrypt with key default_key after 0.1 seconds
DeDRM v10.0.2: Trying encryption key default_key_2
DeDRM v10.0.2: Exception when decrypting after 0.1 seconds
Traceback (most recent call last):
  File "calibre_plugins.dedrm.__init__", line 636, in PDFDecrypt
  File "calibre_plugins.dedrm.ineptpdf", line 2322, in decryptBook
  File "calibre_plugins.dedrm.ineptpdf", line 2128, in __init__
  File "calibre_plugins.dedrm.ineptpdf", line 1504, in initialize
  File "calibre_plugins.dedrm.ineptpdf", line 1711, in initialize_ebx_inept
  File "calibre_plugins.dedrm.ineptpdf", line 399, in decrypt
  File "Crypto\Cipher\PKCS1_v1_5.py", line 165, in decrypt
ValueError: Ciphertext with incorrect length.
DeDRM v10.0.2: Failed to decrypt with key default_key_2 after 0.1 seconds
DeDRM v10.0.2: Looking for new default Adobe Digital Editions Keys after 0.1 seconds
Found 1 keys
Traceback (most recent call last):
  File "calibre_plugins.dedrm.config", line 35, in checkForDeACSMkeys
ModuleNotFoundError: No module named 'calibre_plugins.deacsm'
DeDRM v10.0.2: Trying a new default key
DeDRM v10.0.2: Exception when decrypting after 0.2 seconds
Traceback (most recent call last):
  File "calibre_plugins.dedrm.__init__", line 712, in PDFDecrypt
  File "calibre_plugins.dedrm.ineptpdf", line 2322, in decryptBook
  File "calibre_plugins.dedrm.ineptpdf", line 2128, in __init__
  File "calibre_plugins.dedrm.ineptpdf", line 1504, in initialize
  File "calibre_plugins.dedrm.ineptpdf", line 1711, in initialize_ebx_inept
  File "calibre_plugins.dedrm.ineptpdf", line 399, in decrypt
  File "Crypto\Cipher\PKCS1_v1_5.py", line 165, in decrypt
ValueError: Ciphertext with incorrect length.
DeDRM v10.0.2: Failed to decrypt with new default key after 0.2 seconds
DeDRM v10.0.2: Trying Encryption key BNkey
DeDRM v10.0.2: Exception when decrypting after 0.2 seconds
Traceback (most recent call last):
  File "calibre_plugins.dedrm.__init__", line 748, in PDFDecrypt
  File "calibre_plugins.dedrm.ineptpdf", line 2322, in decryptBook
  File "calibre_plugins.dedrm.ineptpdf", line 2128, in __init__
  File "calibre_plugins.dedrm.ineptpdf", line 1506, in initialize
  File "calibre_plugins.dedrm.ineptpdf", line 1650, in initialize_ebx_ignoble
AttributeError: 'str' object has no attribute 'decode'
DeDRM v10.0.2: Failed to decrypt with key BNkey after 0.2 seconds
DeDRM v10.0.2: Ultimately failed to decrypt after 0.2 seconds. Read the FAQs at Harper's repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md
Running file type plugin DeDRM failed with traceback:
Traceback (most recent call last):
  File "calibre\customize\ui.py", line 175, in _run_filetype_plugins
  File "calibre_plugins.dedrm.__init__", line 895, in run
  File "calibre_plugins.dedrm.__init__", line 770, in PDFDecrypt
calibre_plugins.dedrm.DeDRMError: DeDRM v10.0.2: Ultimately failed to decrypt after 0.2 seconds. Read the FAQs at Harper's repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md
Traceback (most recent call last):
  File "calibre\customize\ui.py", line 432, in get_file_type_metadata
  File "calibre\customize\builtins.py", line 315, in get_metadata
  File "calibre\ebooks\metadata\pdf.py", line 124, in get_metadata
ValueError: Could not read info dict from PDF
Syntax Error: Couldn't find the 'EBX_HANDLER' security handler

pdfinfo errored out with return code: 1

Debugging DND event
application/x-qt-windows-mime;value="Shell IDList Array" 680 b'\x01\x00\x00\x00\x0c\x00\x00\x006\x02\x00\x00\x14\x00\x1fDG\x1a\x03Yr?\xa7D\x89\xc5U\x95\xfek0\xee\x82\x00t\x00\x1c\x00CFSF\x16\x001\x00\x00\x00\x00\x00*Q+s\x12\x00AppData\x00\x00\x00t\x1aY^\x96\xdf\xd3H\x8dg\x173\xbc\xee(\xba\xc5\xcd\xfa\xdf\x9fgVA\x89G\xc5\xc7k\xc0\xb6\x7f@\x00\t\x00\x04\x00\xef\xbe*Q+s*Q\x84s.\x00\x00\x00\x91\x7f\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00z3Y\x00A\x00p\x00p\x00D\x00a\x00t\x00a\x00\x00\x00B\x00P\x001\x00\x00\x00\x00\x00EQ\xa6\x19\x10\x00Local\x00<\x00\t\x00\x04\x00\xef\xbe*Q+sEQ\xa6\x19.\x00\x00\x00\xab\x7f\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00?\x1d\x14\x01L\x00o\x00c\x00a\x00l\x00\x00\x00\x14\x00Z\x001\x00\x00\x00\x00\x00CQ\x16\x10\x10\x00Packages\x00\x00B\x00\t\x00\x04\x00\xef\xbe*Q\xb2sCQ\x16\x10.\x00\x00\x00\xf0\t\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00' 

application/x-qt-windows-mime;value="UsingDefaultDragImage" 4 b'\x01\x00\x00\x00' 

application/x-qt-windows-mime;value="DragImageBits" 36888 b'`\x00\x00\x00`\x00\x00\x000\x00\x00\x00Y\x00\x00\x00\xc7\x16\x05\x07\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 

application/x-qt-windows-mime;value="DragContext" 16 b'\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 

application/x-qt-windows-mime;value="DragSourceHelperFlags" 4 b'\x01\x00\x00\x00' 

application/x-qt-windows-mime;value="InShellDragLoop" 4 b'\x01\x00\x00\x00' 

text/uri-list 107 b'file:///C:/Users/----/AppData/Local/Packages/BarnesNoble.Nook_ahnzqzva31enc/LocalState/9781454900955.pdf\r\n' 

application/x-qt-windows-mime;value="FileName" 73 b'C:\\Users\\-----\\AppData\\Local\\Packages\\BARNES~1.NOO\\LOCALS~1\\978145~1.PDF\x00' 

application/x-qt-windows-mime;value="FileContents" 0 b'' 

application/x-qt-windows-mime;value="FileNameW" 196 b'C\x00:\x00\\\x00U\x00s\x00e\x00r\x00s\x00\\\x00c\x00j\x00l\x00e\x00n\x00\\\x00A\x00p\x00p\x00D\x00a\x00t\x00a\x00\\\x00L\x00o\x00c\x00a\x00l\x00\\\x00P\x00a\x00c\x00k\x00a\x00g\x00e\x00s\x00\\\x00B\x00a\x00r\x00n\x00e\x00s\x00N\x00o\x00b\x00l\x00e\x00.\x00N\x00o\x00o\x00k\x00_\x00a\x00h\x00n\x00z\x00q\x00z\x00v\x00a\x003\x001\x00e\x00n\x00c\x00\\\x00L\x00o\x00c\x00a\x00l\x00S\x00t\x00a\x00t\x00e\x00\\\x009\x007\x008\x001\x004\x005\x004\x009\x000\x000\x009\x005\x005\x00.\x00p\x00d\x00f\x00\x00\x00' 

application/x-qt-windows-mime;value="FileGroupDescriptorW" 596 b'\x01\x00\x00\x00l\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\xcd\x8eU\xb70\xd8\x01\x00\x00\x00\x00\x00\x00\x00\x00K[\xc4U\xb70\xd8\x01\x00\x00\x00\x00\xdf\x951\x029\x007\x008\x001\x004\x005\x004\x009\x000\x000\x009\x005\x005\x00.\x00p\x00d\x00f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 

Firefox rurl: None None
URLS: ['file:///C:/Users/----/AppData/Local/Packages/BarnesNoble.Nook_ahnzqzva31enc/LocalState/9781454900955.pdf']
Paths: ['C:/Users/---/AppData/Local/Packages/BarnesNoble.Nook_ahnzqzva31enc/LocalState/9781454900955.pdf']
Extensions: frozenset({'pdf'})
Added 9781454900955 to db in: 0.2
Added 1 books in 0.9 seconds
noDRM commented 2 years ago

Thanks for the report. 7eb8f07a33c28a49452a9755742d535ac8a33ed2 should hopefully fix the issue with your PDF file. You can click on "Actions", then the latest workflow run, then on "plugin" under "Artifacts" to download a test version. Let me know if that fixes the issue with your PDF. As for the EPUBs, if this didn't get fixed with all the other changes that have been done to the plugin in the meantime, I'm going to need a debug log from one of those as well.

digitalfreaknyc commented 2 years ago

Nope.  Unless I downloaded the wrong version of the file....it didn't work.

-----Original Message----- From: noDRM @.> To: noDRM/DeDRM_tools @.> Cc: digitalfreaknyc @.>; Author @.> Sent: Sat, Mar 19, 2022 11:04 am Subject: Re: [noDRM/DeDRM_tools] Cannot de-drm Nook books (epub/PDF) even WITH key (Issue #50)

Thanks for the report. 7eb8f07 should fix the issue with your PDF file. You can click on "Actions", then the latest workflow run, then on "plugin" under "Artifacts" to download a test version. Let me know if that fixes the issue with your PDF. As for the EPUBs, if this didn't get fixed with all the other changes that have been done to the plugin in the meantime, I'm going to need a debug log from one of those as well.— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you authored the thread.Message ID: @.***>

noDRM commented 2 years ago

Interesting ... I'm going to try and add some more verbose logs to the plugin to track this down. Thanks for testing.

junefish commented 2 years ago

I'm having the same issue, I think. Happy to provide any logs or info that may be helpful.

junefish commented 2 years ago
DeDRM v10.0.2: Verifying zip archive integrity
DeDRM v10.0.2: “9782013976015.epub” is a secure Barnes & Noble ePub
DeDRM v10.0.2: Trying Encryption key nook
Could not decrypt u6hlhkug.epub because of an exception:
Traceback (most recent call last):
  File "calibre_plugins.dedrm.ignobleepub", line 273, in decryptBook
  File "calibre_plugins.dedrm.ignobleepub", line 204, in __init__
  File "calibre_plugins.dedrm.ignobleepub", line 175, in __init__
  File "Crypto\Cipher\AES.py", line 232, in new
  File "Crypto\Cipher\__init__.py", line 79, in _create_cipher
  File "Crypto\Cipher\_mode_cbc.py", line 274, in _create_cbc_cipher
  File "Crypto\Cipher\AES.py", line 93, in _create_base_cipher
ValueError: Incorrect AES key length (0 bytes)

DeDRM v10.0.2: Failed to decrypt with key nook after 0.1 seconds
DeDRM v10.0.2: Trying Encryption key nook_old
Could not decrypt u6hlhkug.epub because of an exception:
Traceback (most recent call last):
  File "calibre_plugins.dedrm.ignobleepub", line 273, in decryptBook
  File "calibre_plugins.dedrm.ignobleepub", line 204, in __init__
  File "calibre_plugins.dedrm.ignobleepub", line 175, in __init__
  File "Crypto\Cipher\AES.py", line 232, in new
  File "Crypto\Cipher\__init__.py", line 79, in _create_cipher
  File "Crypto\Cipher\_mode_cbc.py", line 274, in _create_cbc_cipher
  File "Crypto\Cipher\AES.py", line 93, in _create_base_cipher
ValueError: Incorrect AES key length (0 bytes)

DeDRM v10.0.2: Failed to decrypt with key nook_old after 0.1 seconds
DeDRM v10.0.2: Looking for new NOOK Study Keys after 0.1 seconds
DeDRM v10.0.2: Exception when getting default NOOK Study Key after 0.1 seconds
Traceback (most recent call last):
  File "calibre_plugins.dedrm.__init__", line 345, in ePubDecrypt
  File "calibre_plugins.dedrm.ignoblekey", line 204, in nookkeys
  File "calibre_plugins.dedrm.ignoblekey", line 160, in getNookLogFiles
TypeError: can only concatenate str (not "bytes") to str
DeDRM v10.0.2: Ultimately failed to decrypt after 0.1 seconds. Read the FAQs at Harper's repository: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md
[5.55] splash screen hidden
[5.55] Started up in 5.55 seconds with 1356 books
Added Moi, Simon, 16 ans, Homo Sapiens to db in: 1.2
Running file type plugin DeDRM failed with traceback:
Traceback (most recent call last):
  File "calibre\customize\ui.py", line 175, in _run_filetype_plugins
  File "calibre_plugins.dedrm.__init__", line 899, in run
  File "calibre_plugins.dedrm.__init__", line 397, in ePubDecrypt
calibre_plugins.dedrm.DeDRMError: DeDRM v10.0.2: Ultimately failed to decrypt after 0.1 seconds. Read the FAQs at Harper's repository: https://github.com/apprenticeharAdded 1 books in 1.8 seconds
Worker Launch took: 0.00 seconds
junefish commented 2 years ago

Just found https://github.com/noDRM/DeDRM_tools/discussions/9 and it worked perfectly for me - @digitalfreaknyc try it?

noDRM commented 2 years ago

That's a different bug than the one reported by digitalfreaknyc. Your bug should now be fixed with dcbb3775667ab716f2da0c61d97000750cd7f88e. @digitalfreaknyc can you provide a log for an unsuccessful EPUB file? Maybe these contain more useful information.

junefish commented 2 years ago

@noDRM ack, sorry to clutter! thanks for the info.

digitalfreaknyc commented 2 years ago

That's a different bug than the one reported by digitalfreaknyc. Your bug should now be fixed with dcbb377. @digitalfreaknyc can you provide a log for an unsuccessful EPUB file? Maybe these contain more useful information.

They all work now, after that latest update. The only one that doesn't is the PDF...which is the only one I needed to convert in the first place :) :)

digitalfreaknyc commented 2 years ago

Would it help to send you the PDF file?

-----Original Message----- From: noDRM @.> To: noDRM/DeDRM_tools @.> Cc: digitalfreaknyc @.>; Author @.> Sent: Sat, Mar 19, 2022 11:47 am Subject: Re: [noDRM/DeDRM_tools] Cannot de-drm Nook books (epub/PDF) even WITH key (Issue #50)

Interesting ... I'm going to try and add some more verbose logs to the plugin to track this down. Thanks for testing.— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you authored the thread.Message ID: @.***>

noDRM commented 2 years ago

Maybe, if you're comfortable sharing the PDF and your Nook key string / key file (which you can export in the plugin settings). My email is in my Github profile.

noDRM commented 2 years ago

I tested your PDF, but I can't get it to work at all, no matter what I do. Neither my fork, nor the latest original version, nor the 6.2.0 (latest Python2 version) seems to work. Maybe B&N PDF has always been broken? Or something is wrong with your PDF or your keys ...

ElleKayEm commented 2 years ago

According to the release notes, the script for B&N pdfs was first added with DeDRM 6.8.0, but it wasn't integrated into the plugin. And Apprentice Harper wasn't able to test it.

digitalfreaknyc commented 2 years ago

Like I said, the key now works on the epubs, no problem. And the PDF works in the app on Windows. I guess there's something else going on with PDF's...

On Apr 9, 2022 at 7:01 AM, <noDRM @.***)> wrote:

I tested your PDF, but I can't get it to work at all, no matter what I do. Neither my fork, nor the latest original version, nor the 6.2.0 (latest Python2 version) seems to work. Maybe B&N PDF has always been broken? Or something is wrong with your PDF or your keys ...

— Reply to this email directly, view it on GitHub (https://github.com/noDRM/DeDRM_tools/issues/50#issuecomment-1093907360), or unsubscribe (https://github.com/notifications/unsubscribe-auth/ANJ4AFDHCRBK56CBPTJEGLTVEFPR7ANCNFSM5QAIITSA). You are receiving this because you were mentioned.Message ID: @.***>

digitalfreaknyc commented 1 year ago

No problem.  Would it help to send you the file?

-----Original Message----- From: noDRM @.> To: noDRM/DeDRM_tools @.> Cc: digitalfreaknyc @.>; Author @.> Sent: Sat, Mar 19, 2022 11:47 am Subject: Re: [noDRM/DeDRM_tools] Cannot de-drm Nook books (epub/PDF) even WITH key (Issue #50)

Interesting ... I'm going to try and add some more verbose logs to the plugin to track this down. Thanks for testing.— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you authored the thread.Message ID: @.***>