Benutzer-Werkzeuge

Webseiten-Werkzeuge


howtos:aax2mp3_neu:get_activation_bytes
Übersetzungen dieser Seite:

Ermitteln der Activation Bytes

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 verstehen. Hier fasse ich die Ergebnisse mal zusammen:

  • Audible Manager - schreibt die Activation Bytes in die Windows Registry
    • „reg query HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Audible\SWGIDMAP“ zeigt die Activation Bytes an.
    • sollte seinen PC mehrfach aktiviert haben, ist der erste Wert der korrekte
    • Hier mal ein Beispiel Output
        0    REG_BINARY    0281B17D000000000001...9
        1    REG_BINARY    0291B17D000100000001...2
        2    REG_BINARY    02B674C9000200000001...C
        3    REG_BINARY    08BB5D48000300000001...9
        4    REG_BINARY    02B18034000400000001...D
        5    REG_BINARY    02695123000500000001...2
        6    REG_BINARY    0514B078000600000001...4
        7    REG_BINARY    08A11AF5000700000001...3
  • Audible App - Die Activation Bytes stehen in der Datei „AudibleActivation.sys“ das ihr im Installationsverzeichnis (%appdata%\..\local\Packages\audibleinc.audibleforwindows*\LocalState\) findet
    • Öffnet die Datei mit einen Hex-Editor Eurer Wahl und nehmt die ersten 4 Byte in Hex (also 8 Zeichen)
    • Solltet ihr Cygwin haben reicht folgender, zugegebenermaßen kryptische, Befehl:
hexdump "/cygdrive/c/Users/$USER/AppData/Local/Packages/AudibleInc.AudibleforWindows*/LocalState/AudibleActivation.sys" | head -n 1 | sed -r 's/^.{8}(.{4}) (.{4}).*/\2\1/'
  • Ein weiteres Utility ist rcrack (alle Dateien), das aber zusätlich sogenannte Rainbow Tables benutzt, die ihr bei OpenAudible (die 4 .rt Dateien) erhaltet.
    • Ladet von rcrack alle Dateien herunter und schiebt sie in ein leeres Verzeichnis Eurer Wahl.
    • legt ein Unterverzeichnis „tables“ darin an und ladet die 4 .rt Dateien von OpenAudible dorthin herunter.
    • ffprobe wird nun benötigt, um die Checksumme einer Eurer .aax Dateien zu ermitteln.
"ffprobe <filename.aax>"
  • Der Output sieht dann so aus (nur der Anfang)
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      56. 42.101 / 56. 42.101
  libavcodec     58. 76.100 / 58. 76.100
  libavformat    58. 42.100 / 58. 42.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] [aax] file __**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
  • Interessant ist nur die Checksumme
checksum == 1dd2575473028f207648bbad70c2a263f2142847
  • Nun noch rcrack aufrufen und di Activation Bytes werden angezeigt:
rcrack.exe . -h 1dd2575473028f207648bbad70c2a263f2149847
  • die letzte Zeile zeigt die Activation Bytes (hex:xxxxxxxx)
        result
        ----------------------------------------------------------------
        1dd2575473028f207648bbad70c2a263f2142847  }\xb1\x91\x02  hex:7db19102
        

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“, da hat jemand gedacht „darauf kommt keiner“.
Die Groß-/Kleinschreibung spielt keine Rolle, unsere Activation Bytes sind „7db19102“.

howtos/aax2mp3_neu/get_activation_bytes.txt · Zuletzt geändert: 2022/02/18 08:09 von 127.0.0.1