Decoder¶
XOR decoding and AES-256-CBC decryption functions.
XOR and AES decryption for DJI log records.
xor_decode ¶
XOR-decode data using a CRC64-derived 8-byte key.
The first byte is consumed for key derivation and excluded from the output.
This matches the Rust XorDecoder::new behaviour.
aes_decode ¶
AES-256-CBC decrypt data, returning (plaintext, next_iv).
The next_iv is the last 16 bytes of the ciphertext (before decryption), used for IV chaining between records of the same feature point.
record_decode ¶
Decode record data: XOR for v7-12, XOR+AES for v13+.
Returns decoded bytes ready for struct parsing.