Benutzer-Werkzeuge

Webseiten-Werkzeuge


howtos:aax2mp3_neu

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
howtos:aax2mp3_neu [2020/03/30 11:22] morquaihowtos:aax2mp3_neu [2023/11/15 14:58] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 14: Zeile 14:
   * Audible App - Der letzte Schrei, eine App um auf dem Handy oder dem PC, ohne Software von Drittanbietern, den Geschichten zu lauschen   * Audible App - Der letzte Schrei, eine App um auf dem Handy oder dem PC, ohne Software von Drittanbietern, den Geschichten zu lauschen
  
-Bei Itunes habe ich keine Möglichkeit gefunden, an die sogenannten Activation Bytes zu kommen, also habe ich ein wenig recherchieren müssen. Das Ergebnis ist erschrecken simpel, Security by Obscurity war wohl der Vater des Gedanken, ihr werdet es gleich verstehenHier fasse ich die Ergebnisse mal zusammen: +Wie genau man an die Activation Bytes kommt findet ihr [[.:howtos:aax2mp3_neu:get_activation_bytes|hier]] als Step-by-Step Anleitung\\ 
-  * Audible Manager schreibt die Activation Bytes in die Windows Registry  + 
-      * "reg query HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Audible\SWGIDMAP" zeigt die Activation Bytes an.  +Nachdem ich mit "ffmpeg -activation_bytes 7db19102 -i <hoerbuch.aax<hoerbuch.mp3>" erfolgreich ein komplettes Hörbuch in ein einzelnes MP3 umgewandelt habe, gingen mir ein paar Punkte durch den Kopf und ich fand darauf folgende Antworten:\\ 
-      * sollte seinen PC mehrfach aktiviert haben, ist der erste Wert der korrekte +  * im MP3 Format fehlen die Kapitel 
-      * Hier mal ein Beispiel Output +    * Das Hörbuch muss kapitelweise aufgeteilt werden, die ffmpeg Optionen "-ss" und "-to" sind geeignet 
-        <code          REG_BINARY    0281B17D000000000001...9 +  * Kann ich die Qualtität der Ausgabe beeinflussen? 
-        1    REG_BINARY    0291B17D000100000001...2 +    * Natürlich bietet ein Encoder dazu Möglichkeiten"-qscale:a 3(der Wert 3 entspricht einer variablen Bitrate von 150-195, siehe [[https://trac.ffmpeg.org/wiki/Encode/MP3|die ffmpeg Dokumentation]] 
-        2    REG_BINARY    02B674C9000200000001...C +  * Wo sind die Metadaten, wie TitelAlbum etc, hin 
-        3    REG_BINARY    08BB5D48000300000001...9 +    * Man muss ffmpeg explizit anweisen diese mitzunehmen"-map_metadata 0" kopiert die globalen Metadata  
-        4    REG_BINARY    02B18034000400000001...D +  * Wenn ich das in Kapitel aufteile brauche ich pro Kapitel einen eigenen Titel und die Tracknummer 
-        5    REG_BINARY    02695123000500000001...2 +    * Auch das geht "-metadata title='Kaptitel 1' -metadata track='001'" 
-        6    REG_BINARY    0514B078000600000001...4 +  * Das Ganze soll möglichst ohne manuelles Zutun geschehen 
-        7    REG_BINARY    08A11AF5000700000001...3</code+    * Ich will ja nicht immer mit der Maus ein Hörbuch auswählen, sondern alle neuen Hörbücher in einem Rutsch bearbeiten 
-  * Audible App - Die Activation Bytes stehen in der Datei "AudibleActivation.sys" das ihr im Installationsverzeichnis (%appdata%\..\local\Packages\audibleinc.audibleforwindows*\LocalState\) findet +      * Das Programm braucht ein Eingabe Verzeichnis und ein Ausgabe Verzeichnis. Alle im Eingabeverzeichnis befindlichen Hörbücher werden konvertiert und danach als erledigt gekennzeichnet. Letzteres wird, nach erfolgreicher Bearbeitung, durch Verschieben in das Unterverzeichnis "converted" erledigt. Im Ausgabeverzeichnis wird pro Hörbuch ein eigenes Unterverzeichnis angelegt (basierend auf dem Album Titel). 
-    * Öffnet die Datei mit einen Hex-Editor Eurer Wahl und nehmt die ersten 4 Byte in Hex (also 8 Zeichen) +  * Die Vorgaben zur Konvertierung müssen gespreichert werden können 
-    * Solltet ihr Cygwin haben reicht folgenderzugegebenermaßen kryptische, Befehl: +    * Ein zweites Programm zur Pflege der Einstellungen muss als GUI erstellt werden 
-    + 
-        <code>hexdump "/cygdrive/c/Users/$USER/AppData/Local/Packages/AudibleInc.AudibleforWindows*/LocalState/AudibleActivation.sys" | head -n 1 | sed -r 's/^.{8}(.{4}) (.{4}).*/\2\1/'</code> +Nun frisch ans Werk und mit einer, mir bis dato nur rudimentär bekannten, Programmiersprache die Aufgabe lösenDrei Tage später, nach heftiger Nutzung einer Suchmaschine, nach Analysieren von bestehendem Code (siehe [[https://stackoverflow.com/questions/30305953/is-there-an-elegant-way-to-split-a-file-by-chapter-using-ffmpeg]]), viel Kleinarbeit und Optimierung der ffmpeg Optionen war es geschafftIch habe nun 2 Python Skripts und kann die von der Audible App heruntergeladen Hörbücher automatisch ins MP3 Format bringenIch stelle dies jedermann zur freien Verfügung, bitte aber darum mir Verbesserungen, Fehlerbehebungen uswmitzuteilenDie Email Adresse findet ihr im Impressum [[https://www.onkel-hartwig.de/impressum.php|meiner Webseite]].\\ 
-  +\\ 
-  * Ein weiteres Utility ist [[https://github.com/inAudible-NG/tables/tree/master/run|rcrack]] (alle Dateien)das aber zusätlich sogenannte Rainbow Tables benutzt, die ihr bei [[https://github.com/openaudible/openaudible/tree/master/bin/tables|OpenAudible]] (die 4 .rt Dateien) erhaltet. +[[https://www.onkel-hartwig.de/downloads/|Onkelhartwigs Download Verzeichnis]]
-    * Ladet von [[https://github.com/inAudible-NG/tables/tree/master/run|rcrack]] alle Dateien herunter und schiebt sie in ein leeres Verzeichnis Eurer Wahl+
-    * legt ein Unterverzeichnis "tables" darin an und ladet die .rt Dateien von [[https://github.com/openaudible/openaudible/tree/master/bin/tables|OpenAudible]] dorthin herunter. +
-    * ffprobe wird nun benötigt, um die Checksumme einer Eurer .aax Dateien zu ermitteln. +
-      <code>"ffprobe <filename.aax>"</code> +
-      * Der Output sieht dann so aus (nur der Anfang) +
-      <code>ffprobe version git-2020-03-24-e5d25d1 Copyright (c) 2007-2020 the FFmpeg developers +
-  built with gcc 9.2.1 (GCC) 20200122 +
-  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf +
-  libavutil      5642.101 / 5642.101 +
-  libavcodec     58. 76.100 58. 76.100 +
-  libavformat    58. 42.100 5842.100 +
-  libavdevice    58.  9.103 58 9.103 +
-  libavfilter     7. 77.100 /  7. 77.100 +
-  libswscale      5.  6.101 /  5.  6.101 +
-  libswresample   3.  6.100 /  3.  6.100 +
-  libpostproc    55.  6.100 / 55.  6.100 +
-[mov,mp4,m4a,3gp,3g2,mj2 @ 000001fa241cda00[aaxfile __**checksum == 1dd2575473028f207648bbad70c2a263f2142847**__ +
-[mov,mp4,m4a,3gp,3g2,mj2 @ 000001fa241cda00] [aax] activation_bytes option is missing! +
-[mov,mp4,m4a,3gp,3g2,mj2 @ 000001fa241cda00] stream 0, timescale not set +
-[aac @ 000001fa241dfd40] Multiple frames in a packet. +
-[aac @ 000001fa241dfd40] Prediction is not allowed in AAC-LC. +
-Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Users\morqu\Audible\Downloads\converted\Erschüttert - Teil 1_B073WV2QXW_LC_64_44100_Stereo.aax': +
-  Metadata: +
-    major_brand     : aax +
-    minor_version   : 1 +
-    compatible_brands: aax M4B mp42isom +
-    creation_time   : 2020-03-27T13:25:00.000000Z +
-    comment         : Section 82</code> +
-      * Interessant ist nur die Checksumme +
-        <code>checksum == 1dd2575473028f207648bbad70c2a263f2142847</code> +
-      * Nun noch rcrack aufrufen und di Activation Bytes werden angezeigt: +
-        <code>rcrack.exe -h 1dd2575473028f207648bbad70c2a263f2149847</code> +
-      * die letzte Zeile zeigt die Activation Bytes (hex:xxxxxxxx) +
-        <code>result +
----------------------------------------------------------------- +
-1dd2575473028f207648bbad70c2a263f2142847  }\xb1\x91\x02  hex:7db19102</code+
  
-Jetzt stellen wir fest, das die Activation Bytes unterschiedlich sind. Bei der ersten und zweiten Methode (mit Hex Editor) erhalten wir "0291B17D", bei der rcrack Methode und mit Cygwin aus Methode 2 "7db19102". Was ist denn jetzt richtig? \\ 
-Hier kommt die Obscurity ins Spiel, denn wenn man den Hex-String "0291B17D" byteweise (also immer zwei Zeichen) rückwärts liest.... Taaaadaaa... ergibt das "7DB19102". Die Groß-/Kleinschreibung spielt keine Rolle, unsere Activation Bytes sind "7db19102" 
  
  
  
howtos/aax2mp3_neu.1585567322.txt.gz · Zuletzt geändert: 2020/03/30 11:22 von morquai