[FFmpeg-devel] [PATCH] [v4] Add support for playing Audible AAXC (.aaxc) files
Paul B Mahol
onemda at gmail.com
Thu Nov 5 18:15:55 EET 2020
Next time apply without [PATCH v4] in main log
On Mon, Nov 2, 2020 at 3:19 PM Vesselin Bontchev <
vesselin.bontchev at yandex.com> wrote:
> The AAXC container format is the same as the (already supported) Audible
> AAX format but it uses a different encryption scheme.
>
> Note: audible_key and audible_iv values are variable (per file) and are
> externally fed.
>
> It is possible to extend https://github.com/mkb79/Audible to derive the
> audible_key and audible_key values.
>
> Relevant code:
>
> def decrypt_voucher(deviceSerialNumber, customerId, deviceType, asin,
> voucher):
> buf = (deviceType + deviceSerialNumber + customerId +
> asin).encode("ascii")
> digest = hashlib.sha256(buf).digest()
> key = digest[0:16]
> iv = digest[16:]
>
> # decrypt "voucher" using AES in CBC mode with no padding
> cipher = AES.new(key, AES.MODE_CBC, iv)
> plaintext = cipher.decrypt(voucher).rstrip(b"\x00") # improve this!
> return json.loads(plaintext)
>
> The decrypted "voucher" has the required audible_key and audible_iv
> values.
>
> Update (Nov-2020): This patch has now been tested by multiple folks -
> details at the following URL:
>
> https://github.com/mkb79/Audible/issues/3
>
> Signed-off-by: Vesselin Bontchev <vesselin.bontchev at yandex.com>
>
> ...
>
> Thanks Carl for all the reviews. Hopefully we can merge this patch soon :)
>
> Vesselin
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list