Backup eines Audible Hörbuches erstellen – AAX to mp3
Anti-Piracy Notice
Vorab möchte ich darauf hinweisen das es sich hierbei nicht um einen Crack oder so handelt. Die verwendete Software erlaubt lediglich dem User den eigenen Verschlüsselungskey (von den Audible Servern) zu beziehen und mit diesem das Hörbuch zu entschlüsseln, genau so wie es auch die offizielle Software tut. Der Sinn dieser Anleitung soll darin liegen von seinen eigenen, gekauften Hörbüchern ein Backup erstellen zu können und/oder um diese auch auf anderen Playern abspielen zu können, welche nicht DRM fähig sind, z.B. alte Autoradios.
Please only use this application for gaining full access to your own audiobooks for archiving/converson/convenience. DeDRMed audiobooks should not be uploaded to open servers, torrents, or other methods of mass distribution. No help will be given to people doing such things. Authors, retailers, and publishers all need to make a living, so that they can continue to produce audiobooks for us to hear, and enjoy. Don’t be a parasite.
This blurb is borrowed from the https://apprenticealf.wordpress.com/ page.
Außerdem sei auf die Hinweise der einzelnen Repositories hingewiesen, da diese auch noch einmal etwas dazu sagen. Teile aus diesem Abschnitt wurden auch aus den Repositrories entnommen.
activation_bytes beziehen
Um das AAX file nach mp3 zu convertieren benötigen wir als erstes den vier Byte großen Aktivierungscode, die activation_bytes. Genau genommen benötigt diese später ffmpeg. Um diese zu beziehen gibt es zwei Wege, den online und den offline Weg.
Online
Der Github User inAudible-NG hat dafür ein Python Skript geschrieben.
Um dieses zu nutzen muss folgendes installiert sein: python, python-requests, python-selenium und google-chrome
- Als erstes cloned man das git:
git clone https://github.com/inAudible-NG/audible-activator.git
- Anschließend lädt man das Paket ChromeDriver herunter und extrahiert es in das geklonte Verzeichnis
- Nun kann man das Skript auch schon wie folgt ausführen:
./audible-activator.py
- Es fragt nach den Logindaten und öffnet anschließend automatisch ein Chrome Fenster und sollte dann irgendwann den Aktivierungscode auf der Konsole ausgeben
Dieser Part hat bei mir allerdings nicht funktioniert. Ich bekam immer wieder den Fehler:
audible_error=Internal service error has occured while processing the request, please contact service admin
Dieser ist auch unter Debugging Tips auf der Githubseite aufgeführt mit dem Hinweis das es nur 8 Activation Slots gibt und man diese beim Support wieder zurücksetzen lassen kann. Das habe ich zweimal versucht, allerdings kam ich zu keinem positiven Ergebnis.
Offline
Der selbe Github User hat noch ein weiteres Repository parat um den Aktivierungscode aus einer bereits vorhandenen AAX Datei zu beziehen.
Folgendes muss vorab installiert sein: ffmpeg (>=2.8.1), libssl-dev, build-essentials (make, g++)
- Als erstes cloned man das git:
git clone https://github.com/inAudible-NG/tables.git
- Anschließend lädt man das Programm RainbowCrack herunter und extrahiert es in das geklonte Verzeichnis
- Nun wechselt man in das git Verzeichnis und baut das Plugin mit
make
- Dies sollte ziemlich schnell geschehen sein
- Nun extrahieren wir mittel ffprobe die SHA1 Checksumme aus der herunter geladenen AAX Datei
ffprobe hörbuch.aax
[...]
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x15cfb80] [aax] file checksum == 5ca583c...
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x15cfb80] [aax] activation_bytes option is missing!
[...]
- Zu guter letzt beziehen wir nun die activation_bytes aus der SHA1 Checksumme:
./rcrack *.rtc -h 5ca583c...
[...]
result
-------------------------------------------------------
5ca583c... xyz hex:60a80c21
Das ganze scheint aus meiner Sicht die deutlich schnellere Alternative zu sein, insofern man bereits eine AAX Datei heruntergeladen hat. Der ganze Spass hat bei mir 20s gebraucht und danach hatte ich die activation_bytes.
AAX to mp3
Der Github User KrumpetPirate hat ein bash Skript geschrieben, welches nun mittels der activation_bytes und ffmpeg dass AAX file in das mp3 Format konvertiert. Sehr schön daran ist das das Skript anschließend das mp3 File nochmal in einzelne Files pro Kapitel teilt. Folgendes muss hier vorab installiert sein: bash (>=4.3.42 – Ich selbst nutze eine ältere Version mit welcher es wunderbar funzte), ffmpeg (>=2.8.3), libmp3lame0
- Als erstes cloned man das git:
git clone https://github.com/KrumpetPirate/AAXtoMP3.git
- Ausgeführt wird es wie folgt:
bash AAXtoMP3.sh 60a80c21 hörbuch.aax
Decoding hörbuch.aax with AUTHCODE 60a80c21...
[...]
Created hörbuch.mp3.
Extracting chaptered mp3 files from hörbuch.mp3...
[...]
Done creating chapters. Single file and chaptered files contained in Hörbuch/Autor/hörbuch.
Extracting cover into Hörbuch/Autor/hörbuch/cover.jpg...
Done.
Anschließend hat man im Unterordner Hörbuch/$Autor/$Titel das Höbuch in mp3 Format liegen. Einmal als ganze Datei und einmal eine Datei pro Kapitel.
Quellen
https://github.com/inAudible-NG/audible-activator
https://github.com/inAudible-NG/tables
https://github.com/KrumpetPirate/AAXtoMP3