himddiskformat
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
himddiskformat [2010/06/05 17:04] – megadiscman | himddiskformat [2012/01/05 22:55] (current) – Mention that tracks with variable MPEG version and variable MPEG layer can't be played back megadiscman | ||
---|---|---|---|
Line 138: | Line 138: | ||
==== The file mclist0X.hma ==== | ==== The file mclist0X.hma ==== | ||
- | The filename " | + | The filename " |
+ | Furthermore, | ||
+ | The final authentication is done by combining checksums of the medium-specific and the track-specific parts into a master " | ||
- | The contents of " | + | The contents of " |
< | < | ||
Line 152: | Line 154: | ||
</ | </ | ||
- | It contains information | + | The MAC list file is divided into three parts. The first 16 bytes are the file header, the next 80 bytes are for disc authentication and the remaining part is for track authentication. Both authentication parts start with an encrypted 3DES key used for authentication, |
+ | |||
+ | < | ||
+ | 0000 BYTES magic signature " | ||
+ | 0004 DWORD unknown purpose | ||
+ | 0008 BYTES 8 unknown bytes, always zero, maybe padding. | ||
+ | |||
+ | 0010 BYTES 16 bytes encrypted 3DES key for authenticating | ||
+ | 0020 DWORD Generation number of the DRM info | ||
+ | 0024 BYTES 20 unknown bytes, always zero, maybe padding | ||
+ | 0038 DWORD | ||
+ | 003C DWORD 4 unknown bytes, always zero, maybe padding | ||
+ | 0040 BYTES 16 bytes disc ID. This is a copy of the real disc ID stored outside of the file system | ||
+ | 0050 BYTES 16 unknown bytes, always zero, maybe padding | ||
+ | |||
+ | 0060 BYTES 16 bytes encrypted 3DES key for authenticating | ||
+ | 0070 BYTES 4000 * 8 bytes MAC values of tracks. Intersting count, as Hi-MD only has 2048 tracks. | ||
+ | </ | ||
- | The fields at offset 10h and 60h are presumably encryption keys for 3DES. It's not yet confirmed, whether those are the keys in cleartext or those are the keys in an encrypted form themselves. | ||
==== The file 00010012.hma ==== | ==== The file 00010012.hma ==== | ||
Line 273: | Line 291: | ||
< | < | ||
0000 DWORD - date of recording (FAT format, 16 bit date, 16 bit time of day) | 0000 DWORD - date of recording (FAT format, 16 bit date, 16 bit time of day) | ||
- | 0004 DWORD + " | + | 0004 DWORD ! " |
0008 WORD - Title (string number) | 0008 WORD - Title (string number) | ||
000A WORD - Artist (string number) | 000A WORD - Artist (string number) | ||
Line 279: | Line 297: | ||
000E BYTE - Track number (within Album, not on MD) | 000E BYTE - Track number (within Album, not on MD) | ||
000F BYTE - " | 000F BYTE - " | ||
- | 0010 8 BYTES + MgrCK (upload requirement: | + | 0010 8 BYTES ! MgrCK (upload requirement: |
0018 8 BYTES CMac | 0018 8 BYTES CMac | ||
- | 0020 BYTE | + | 0020 BYTE |
- | 0021 3 BYTES ? Codec specific info | + | 0021 3 BYTES - Codec specific info |
- | 0024 WORD | + | 0024 WORD |
- | 0026 WORD | + | 0026 WORD |
- | 0028 WORD | + | 0028 WORD |
- | 002A BYTE | + | 002A BYTE |
- | 002B BYTE | + | 002B BYTE |
002C WORD + More codec specific info | 002C WORD + More codec specific info | ||
002E WORD + reserved | 002E WORD + reserved | ||
0030 20 BYTE + Content ID (for Mac Transferred Data: 02 03 00 00 + 16 random bytes) | 0030 20 BYTE + Content ID (for Mac Transferred Data: 02 03 00 00 + 16 random bytes) | ||
- | 0044 DWORD + Start time (FAT format) | + | 0044 DWORD + Start of playback license validity |
- | 0048 DWORD + End time (FAT format) | + | 0048 DWORD + End of playback license validity |
004C BYTE + " | 004C BYTE + " | ||
- | 004D BYTE | + | 004D BYTE |
- | 004E BYTE | + | 004E BYTE |
004F BYTE + " | 004F BYTE + " | ||
</ | </ | ||
- | The +/-/? means: " | + | The +/-/! means: " |
" | " | ||
Line 344: | Line 362: | ||
* 0023 bit field | * 0023 bit field | ||
* 80: Always set | * 80: Always set | ||
- | * 40: Variable MPEG version | + | * 40: Variable MPEG version |
- | * 20: Variable MPEG Layer | + | * 20: Variable MPEG Layer (tracks with this bit set cause " |
* 10: Variable bitrate | * 10: Variable bitrate | ||
* 08: Variable sample rate | * 08: Variable sample rate |
himddiskformat.1275757468.txt.gz · Last modified: 2010/06/05 17:04 by megadiscman