LDN services: Difference between revisions
Line 1,186: | Line 1,186: | ||
! Description | ! Description | ||
|- | |- | ||
| 0x0 || 0x20 || | | 0x0 || 0x20 || [[#NetworkInfo]]+0x0 | ||
|- | |- | ||
| 0x20 || 0x1 || | | 0x20 || 0x1 || Must be 0x1-0xF. | ||
|- | |- | ||
| 0x21 || 0x1 || | | 0x21 || 0x1 || | ||
|- | |- | ||
| 0x22 || 0x2 || Big-endian u16 | | 0x22 || 0x2 || Big-endian u16 size for the data starting at +0x48, must be <=0x500, and must match {total frame size relative to +0x0 above} + 0x48. | ||
|- | |- | ||
| 0x24 || 0x4 || | | 0x24 || 0x4 || Big-endian u32 Counter | ||
|- | |- | ||
| 0x28 || 0x20 || | | 0x28 || 0x20 || SHA256 hash over the entire frame starting at +0x0, with the above size + 0x48. During hashing, this hash is cleared, with the new hash overwriting the original in memory (the original is copied to stack for comparing). | ||
|- | |- | ||
| 0x48 || || | | 0x48 || || | ||
|} | |} | ||
When encryption is enabled, the encrypted data is +0x28 with size {remaining frame size}. This is encrypted with AES-128-CTR. The CTR is {raw Counter above without byte-swap}, with the rest cleared to zeros. | |||
<fill this in> | <fill this in> |