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>