Disclaimer: I did not create the software referenced here, and I link to the original authors of the projects (to whom I am grateful) throughout. Also, this is intended purely for removing the DRM on books that you have purchased for your own personal use, which I do so that I may access my books on a portable device while running.
This is a very succinct guide on converting Audible’s proprietary .aax DRM audiobook format (for books that you have purchased) into .m4b and other standard formats playable on most any device.
Supposedly, it is possible to use a file from an authorized Audible device (e.g. an Android device with the Audible app) to extract one’s Audible authorization code, which appears to be unique to an Audible account. However, I could not easily retrieve this file, so I attempted to extract the code using the audible-activator tool. This proved problematic on my setup as it appeared to require installing Google Chrome and it was unclear whether it would work with 2FA on my Audible/Amazon account.
Therefore, I decided to go about it another way and used a RainbowCrack-based plugin designed to crack the authorization code using the file’s hash, which was far more seamless than I expected.
Instructions
If you already have the authorization code for your account, you may skip steps 1-3.
Step 0: Download the .aax
file
You can do this for books you have purchased after logging in to your Audible account on a desktop web browser.
Step 1: Find the file’s hash
$ ffprobe <your .aax file>
Example output:
|
|
Step 2: Download or clone the tables
project from https://github.com/inAudible-NG/tables
Step 3: Extract your authorization code
In the project’s directory, run rcrack
from the aforementioned project to crack the authorization code for your account.
$ ./rcrack . -h <your hash here>
After a while, you will see a result that lists a code such as hex:CAFED00D
Step 4: Download AAXtoMP3
It is possible to do this using ffmpeg
without additional downloads, but I found it easier to use the AAXtoMP3 tool which facilitates a variety of options such as automatically splitting output files by chapter. Download the Bash script titled AAXtoMP3
from the project’s repository: https://github.com/KrumpetPirate/AAXtoMP3
Step 5: Convert the file
Basic use to generate standard .mp3
audio files involves running, from the directory where you downloaded the script:
$ ./AAXtoMP3 -A <your hex auth code> <your .aax file>
Or to generate multiple output files split by chapter in .m4b
format:
$ ./AAXtoMP3 -A <your hex auth code> --aac -e:m4a -e:m4b --c <your .aax file>
You may now play these files on nearly any application or device that supports audio playback, such as VLC (or my outdoor watch). Enjoy!