netmdocm
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
netmdocm [2009/07/14 19:00] – nopsled | netmdocm [2011/01/15 13:12] – nopsled | ||
---|---|---|---|
Line 166: | Line 166: | ||
ASN.1 Sequence with a data structure that is setup and manipulated by functions called through DICT 187 (these functions are in DICT 188). | ASN.1 Sequence with a data structure that is setup and manipulated by functions called through DICT 187 (these functions are in DICT 188). | ||
- | 30 80 | + | |
- | 02 02 03E9 | + | 02 02 03E9 |
- | 04 14 43EA428F71EE7B665D10752E85AB16E5A50C6249 ; MAC | + | 04 14 43EA428F71EE7B665D10752E85AB16E5A50C6249 ; MAC |
- | 04 14 638163B82C4E31810FBEE01B2E7FC25B879586E3 ; Enc(CKEY) ? Offset 0x1E according to Jan (// key is at offset 0x1E! (OMGDecrypter.cpp) | + | 04 14 638163B82C4E31810FBEE01B2E7FC25B879586E3 ; Enc(CKEY) ? Offset 0x1E according to Jan (// key is at offset 0x1E! (OMGDecrypter.cpp) |
- | + | 30 80 02 01 6B ; 17 (some time stamp) | |
- | | + | 02 04 48C2298F |
- | 02 04 48C2298F | + | 02 01 07 ; 7 == creation time of structure |
- | 02 01 07 ; 7 == creation time of structure | + | 02 04 48C2298F |
- | 02 04 48C2298F | + | 02 01 6D ; 109 |
- | 02 01 6D ; 109 | + | 02 01 00 |
- | 02 01 00 | + | 02 01 65 ; 101 |
- | 02 01 65 ; 101 | + | 04 14 C04B513EDE54342D709D0CB8621E646FDDCB345E |
- | 04 14 C04B513EDE54342D709D0CB8621E646FDDCB345E | + | 02 01 00 ; 0 == scrambled form of the maclist id == SalOmgId |
- | 02 01 00 ; 0 == scrambled form of the maclist id == SalOmgId | + | 04 14 010F50000004000000EFF3C3244C602635178457 |
- | 04 14 010F50000004000000EFF3C3244C602635178457 | + | 02 01 68 ; 104 |
- | 02 01 68 ; 104 | + | 02 02 1FD7 |
- | 02 02 1FD7 | + | 02 01 06 ; 6 == source name |
- | 02 01 06 ; 6 == source name | + | 04 15 72617720636F6E74656E7420696D706F7274696E67 |
- | 04 15 72617720636F6E74656E7420696D706F7274696E67 | + | |
- | | + | 02 01 67 ; 103 == flags? |
- | 02 01 67 ; 103 == flags? | + | 02 01 02 |
- | 02 01 02 | + | 02 01 01 ; 1 == max checkout? |
- | 02 01 01 ; 1 == max checkout? | + | 02 01 03 |
- | 02 01 03 | + | 02 01 08 ; 8 == checkout count? |
- | 02 01 08 ; 8 == checkout count? | + | 02 01 03 |
- | 02 01 03 | + | 02 01 05 ; 5 == flags (1|2|4) |
- | 02 01 05 ; 5 == flags (1|2|4) | + | 02 01 04 |
- | 02 01 04 | + | 0000 ; End array |
- | 0000 ; End array | + | 30 80 0000 ; Empty array |
- | 30 80 0000 ; Empty array | + | 0000 ; End array |
- | 0000 ; End array | + | |
===== maclist1.dat ===== | ===== maclist1.dat ===== | ||
Line 906: | Line 905: | ||
===== maclist(1) ===== | ===== maclist(1) ===== | ||
- | /* | + | XOR the SalOmgId |
- | Procedure prototype: | + | |
- | | + | |
- | + | ||
- | Input: | + | |
- | + | ||
- | SalNonConstPointer const &, | + | |
- | SalPointer const &, | + | |
- | SalOmgId | + | |
- | long, | + | |
- | SalExtrinsicsProg const & | + | |
- | + | ||
- | Output: | + | |
- | + | ||
- | long | + | |
- | + | ||
- | */ | + | |
===== Sample input: ===== | ===== Sample input: ===== | ||
Line 948: | Line 931: | ||
} ; | } ; | ||
- | |||
- | XOR the SalOmgId with a constant key, expand that to a symmetric key and apply to the SHA-1 hash of MACLIST. | ||
===== maclist(8) ===== | ===== maclist(8) ===== | ||
Line 1244: | Line 1225: | ||
netmd(0) | netmd(0) | ||
- | Process file, unknown blob, Ekb capability table, 00010002ekb, | + | Process file, unknown blob, Ekb capability table, 00010002ekb, |
+ | |||
+ | status = 0: Success, nonce will be used to authenticate NetMD unit, checkout_context contains all data to continue processing. | ||
+ | status != 0: Error, nonce and checkout_context don't exist | ||
Procedure prototype: | Procedure prototype: |
netmdocm.txt · Last modified: 2024/05/21 14:50 by nopsled