How to export a audio book from Audible and save it without DRM for personal archival purposes.
Note: This does NOT crack
DRM. It simply uses the users own encryption key (fetched from Audible servers)
to decrypt the audiobook in the same manner that the official audiobook playing software does.
Info
Everything described below is incredibly broken and does not work anymore.
As of 2023-09 I use a open source tool called Libation.
Export a book
- Go to Audible and download the book in full as
.aax
- In addition download any accompanying
.pdf
files and save them with the final audio file
cd ~/projects/github/audible-activator
source venv/bin/activate
# Get activation bytes (once)
./audible-activator.py -l "de"
# Remove DRM for archival purposes
ffmpeg -activation_bytes <ACTIVATION-BYTES> -i <INPUT>.aax -c copy <author>-<title>.m4b
Known issues
ffmpeg: mismatch in checksums
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fadbc704cc0] [aax] mismatch in checksums!
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fadbc704cc0] error reading header
/tmp/some_file.aax: Invalid data found when processing input
Apply workaround as per this comment on GitHub. Either audible-activator is broken or something else is strange, because this happens only for some files for me.
Initial setup
Setup audible-activator:
cd ~/projects/github
git clone https://github.com/inAudible-NG/audible-activator.git
cd audible-activator
python3.10 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
If this PR is not incorporated yet, do it manually
https://github.com/inAudible-NG/audible-activator/pull/56
Install other dependencies
brew install chromedriver ffmpeg
# De-quarantine chromedriver
xattr -d com.apple.quarantine /usr/local/bin/chromedriver