Categories
Blog

How to Break Audible DRM

After purchasing audiobooks on Audible you may want to store the files on your computer in case Amazon decides to pull the books later on. Audible allows you to download encrypted copies of your books from your account library.

Clicking on the “Download” link for any audiobook will download a .aax file to your computer. This file contains audio data that has been encrypted using a 4-byte key unique to your Audible account. Because the key is so short it is trivial to break it using brute force and there is plenty of software available specifically for that purpose. In this blog post, I’ll be covering two ways to decrypt the file.

OpenAudible

OpenAudible a free open-source graphical program available for Linux, Windows, and macOS. It’s specifically designed to remove DRM from your Audible files and hides a lot of the complexity.

EDIT: OpenAudible appears to have become closed source and paid software. You can buy it if you want or try to find an old version, but see below for a free method.

Once you install OpenAudible from its website you can drag and drop the .aax files you downloaded from Audible into it. They will show up in a list at the bottom of the window.

With your audiobooks loaded select them (Ctrl + A) and right-click to select “Convert to MP3”.

OpenAudible will convert each of your audiobooks to a DRM-free mp3 file and save them in the ~/OpenAudible folder on your computer. If you can’t find the mp3 files then right-click one of the books and select “Show MP3”.

One nice thing about OpenAudible over the FFMPEG method is that the book’s metadata (author, reader, publisher, etc.) will be preserved in the resulting mp3 file.

FFMPEG

ffmpeg is a popular free and open-source command line utility for processing video and audio. It can decrypt the Audible DRM but requires you to input the specific 4-byte encryption key unique to your Audible account. You can brute force your downloaded .aax files (you only need to get the key from one, and it will work for the others) using this website.

Once you’ve gotten your key you can use it to convert your .aax files to mp3s using ffmpeg like so (replace XXXX with your key):

ffmpeg -activation_bytes XXXX -i audiobook.aax audiobook.mp3

Unfortunately, this does not appear to migrate the metadata to the new mp3 files created like the OpenAudible approach does.

10 replies on “How to Break Audible DRM”

if you want to keep the metadata and keep the quality but remove the encryption via ffmpeg
ffmpeg -activation_bytes -i input.aax -c copy “output.m4b”

People behind OpenAudible have stolen code from the original inAudible-NG project and made a commercial product out of it. OpenAudible is not a free software. To process aax files you have to pay for the full version. The description above does not work anymore in version 2.

Good Day Kyle,

The first option no longer works; I have spent hours trying to find old versions though they all fail even with internet turned off. Anyhow they use these same tables (now charge for the open sourse code they use) so I am keen to do this the hard way.

Any chance you could give a detailed instruction of how to install git hub and rainbow tables and the commands required for windows. Having not used it before I have tried the github portable and installed them there; having the bash and cmd options to open; but have no idea what commands to run in order to get things going. Secondly I tried installing choco in powershell but can’t load the tables and don’t no the commands! I would greatly appreciate the help.

I have an understanding of powershell, but github/bash seems I can’t get the whole thing working on windows (ideally a portable way, but anything will do!)

Also I have noticed that what the above poster said is true; ffmpeg -activation_bytes -i input.aax -c copy “output.m4b” will allow metta data even pictures to be kept.

Anyway thanks for the information, though I am at a dead end.

Hmmmm yes it seems OpenAudible has become paid software. I’m not sure what would be involved in getting the second solution to work natively on Windows, so I would recommend installing WSL 2 (basically it’s Linux in Windows) and then running the Linux commands.

The Above Comment by Under_A_tree is correct, but missing some data…
Just need to make sure to include the key, for simplicity of the command lets assume:

activation_bytes = 1AEB00DA
* replace with your key

#single file decript and convert:
ffmpeg -activation_bytes 1AEB00DA -i audiobook.aax -vn -c:a copy audiobook-tmp.m4b

* note this should be a chapterized mp4, so you could edit with an app like Fission to export to separate files directly if you want. Or use something like Plex with Prologue that can read the chapterized files.

Some Bonus Commands

#Extract cover image:
ffmpeg -y -i audiobook.aax cover.png

#Bulk extraction of both:
for f in *.aax; do ffmpeg -i $f “${f%.*}.jpg”; ffmpeg -activation_bytes 1AEB00DA -i $f -vn -c:a copy “${f%.*}-tmp.m4b”; done

* the bulk command above works from the current folder. So [ cd ] to the folder you desire, or add dir structure before the *.aax
* the copy will save in your current directory as well

The following worked for me using Ubuntu 20.04

1. Download the AAX audible book file from the Audible website under your account.

2. Install ffmpeg in Ubuntu with the following command in your terminal:

sudo apt-get install ffmpeg

3. Derive the “activation bytes” from the following website:
https://audible-tools.github.io/

This is done by dragging the AAX file over on to the website which then automatically generates the activation bytes code XXXX, which was an 8 digit code for me.

4. Run the following code substituting your generated code for XXXX below

ffmpeg -activation_bytes XXXX -i audiobook.aax audiobook.mp3

where:
“audioboox.aax” is the name of theinput file you downloaded; and
“audiobook.mp3” is your desired output name.

You will then be left with a gigantic mp3 file that is not broken up into chapters.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s