Skip to main content

The Toniebox is an audio player for children above the age of 3 years. It was released in spring 2016.

17 Questions Показать все

Inhalt der Speicherkarte extern sichern

Lässt sich die Speicherkarte lesen? Also kann man sich dadurch die heruntergeladenen Inhalte extern speichern? Also wie bei CDs…falls die Box mal kaputtgeht

Answer this question I have this problem too

Is this a good question?

Score 4
Add a comment

Android Fix Kits

A new screen or battery is one kit away.

Купить сейчас

Android Fix Kits

A new screen or battery is one kit away.

Купить сейчас

7 Ответов

Most Helpful Answer

Die Daten auf der Micro SD Karte können einfach kopiert werden.

Wichtig ist nur, dass die Karte FAT32 Formatiert ist. (Bei mir habe ich die alte 8 GB mit einer 64 GB Karte ausgetauscht)

Im Ordner CONTENT/00000000 und CONTENT/00000001 sind die Fehler- und Systemmeldungen gespeichert.

Alle anderen Dateien im Ordner CONTENT/XXXXXXXX sind die herunter geladenen Toniedateien, welche abgespielt werden. Dabei steht bei den Ordnern für XXXXXXXX eine Kennung der Tonies, welche für jeden Tonie eine andere ist, die darin enthaltenen Dateinamen sind ebenfalls im Format XXXXXXXX ohne Dateiendung, welche bei jedem Benutzer anders, aber für alle Tonies einer Box immer gleich ist.

Du kannst dir von allen Toniedateien Sicherungskopien anlegen und sie jederzeit wieder zurück auf die Micro SD Karte kopieren. Hierbei ist jedoch wichtig, dass du die Toniedateien nicht in den falschen Ordner kopierst. Denn jede Toniedatei ist einem bestimmten Tonie zugeordnet (hierzu gleich mehr).

Du kannst also den Onlinezwang über die Toniecloud einschränken, indem du dir erst eine Sammlung pro Tonie anlegst und diese dann später manuell anpasst. Hierfür lädst du deine Hörspiele/Musik/etc… einzeln in die Toniecloud und von dort wieder auf die Box, um sie dann zu Archivieren. Das ganze wiederholst du für deine gesamte Sammlung. Hast du nun die Box offline gestellt (Beide Ohren gedrückt halten bis die Leuchten blau sind und dann nochmal das rechte Ohr gedrückt halten bis die Leuchten Türkis sind und die Offlinenachricht zu hören ist), kannst du die Dateien aus deinem Archiv nach bedarf zurück auf die Micro SD Karte verschieben.

Da das alles ziemlich umständlich ist (jede Datei einzeln hoch- und wieder runterladen, ständiges auseinander- und zusammenbauen der Box) arbeite ich derzeit an der Umgehung des ganzen Onlinezwangs, sowie auch an der Aufhebung der 90 Minutengrenze. Dazu war zuerst einmal nötig, der Box einen externen Micro SD Karten Zugang zu verschaffen. Dazu nutze ich eine simple Flachbandverlängerung für den Micro SD Karten Slot, welchen ich nach außen verlegt habe. Der ist an der Box-Innen und deren Unterseite sogar schon vorgesehen und nur noch nicht geöffnet. Hierfür reichte ein Teppichmesser und beherztes Schneiden an der vorgegebenen Führung. Dem Deckel an der Unterseite habe ich an entsprechender Stelle eine nötige Öffnung verpasst.

Nun zu dem schon angekündigtem “mehr”:

Wie sind die Toniedateien aufgebaut?

Sie bestehen aus einem 4096 byte großem Datenteil und der eigentlichen Audiodatei. Die beiden Teile sind lediglich von der Box beim herunterladen zusammengefasst worden.

Ich verrate hier keine Kennungen, welche die Kreativtonies untereinander oder von den normalen Tonies abgrenzen, um nicht am Ende noch Ärger mit dem Toniebox-Entwickler zu bekommen. Den Aufbau an sich kann ja jeder sowieso selbst herausfinden und ist damit auch kein “Firmengeheimnis”, welches ich damit eventuell preisgeben würde.

Zuerst zur Audiodatei: Sie ist eine Opus Audiodatei welche mit z.B. Opusdec abgespielt werden kann sobald man diese von den ersten 4096 bytes getrennt hat. (Wer an eigenen Audios basteln will empfehle ich opusdec, opusenc und opusinfo (google hilft da weiter))

Der 4096 bytes große Datenteil ist interessant, er besteht aus der Dateikennung, dem SHA-1 Hash der reinen opus Audiodatei, einer Kennung, einer weiteren Kennung und den Kapitel-/Sprungmarken und zu guter letzt einer menge nullen um den Rest der 4096 Bytes zu füllen.

Ich geb hier mal ein Beispiel des Datenteils für interessierte und verweise auf die Anzeige in Hexadezimal:

(X bedeutet immer, dass hier je nach Tonie, Benutzer oder Kapitelanzahl und Kapitellängen andere Werte stehen)

Der Dateianfang immer gleich 00000FFC0A14

Darauf folgt unmittelbar der SHA-1 Hash der reinen opus Datei z.B. B0C36F36B4AE6D789DCDF56FC134F467829E4B57

Der nächsten Abschnitt beginnt immer mit dem Eintrag 10 gefolgt von einer Kennung XXXXXXXX

Darauf folgt immer der Eintrag 18 und die nächste Kennung XXXXXXXX

Als nächstes immer 0522 und eine weitere Kennung XX gefolgt von dem Abschluß 00

(Die Grenze der gegebenen 99 Kapitel ist der Restgröße zu den 4096 bytes geschuldet)

Der Rest der Datei ist also noch aufgeschlüsselt in Audiogesamtlänge Kapitel-/Sprungmarken und ist dann gefüllt mit vielen 00 um die 4096 bytes zu erreichen.

Ich hoffe, dass ich damit einige Fragen klären und viele Leser inspirieren konnte ;)

Hoffy

Update (22.10.2019)

Hallo Gambrius,


hier die, nicht in Kürze mögliche, Antwort.



Selber Tonie auf anderer Box hat selben Verzeichnisnamen, aber anderen Dateinamen. Somit gehe ich davon aus, dass der Dateiname dem Benutzer zugeordnet ist. der Verzeichnisname scheint somit dem Tonie zugeordnet zu sein.



Einen anderen Tonie gleichen Namens konnte ich, aus mangel an vorhandensein, bisher nicht ausprobieren, werde ich aber nachholen. Ich vermute aber stark, dass der Verzeichnisname der UID des Chips zugeordnet ist.



Warum ich auf letzteres komme und eine Zuordnung zum Hörbuch auszuschließe?


Mir ist es gelungen einem "nicht Kreativ-Tonie" eigene Inhalte zuzuordnen, ihn also quasi in einen Kreativ-Tonie zu ändern. (offline natürlich...online wird der Inhalt sofort wieder aktualisiert)



Zu den Kennungen:


Da muss ich mich leider bedeckt halten, ich stünde mit der eindeutigen Aussage sicher einer strafbewehrten Abmahnung mit Unterlassungserklärung durch die Boxiene GmbH gegenüber.



Aber was ich sagen kann ist folgendes:


Die Kennungen sind der Schlüssel.



Eine der "Kennungen" entscheiden darüber, ob sich der Tonie im Online-Modus aktualisiert. Ich verstehe immer noch nicht, warum man das nicht über den SHA-1 Hash geregelt hat, damit wäre eine manipulation der Toniedatei im Online-Modus schon mal ausgeschlossen. Im Offlinemodus sogar dann, wenn man die Werte in der Box selbst, neben den Router-Zugangsdaten abgelgt hätte. Denke aber für letzteres ist der interne Speicher, bedenkt man die Fülle an Tonies die in Zukunft noch auf den Markt kommen werden, zu klein.



Ich versichere aber, es ist recht einfach hinter die "Kennungen" zu kommen.


Ein simpler Hexadezimaleditor, die von mir schon genannten Eckpunkte und ein wenig experimentieren mit den aus der Toniecloud heruntergeladenen Toniedateien bringen sehr schnell aufschluß über den ganzen Aufbau. ;)



Einfach mal den selben Kreativ-Tonie mit unterschiedlichen Inhalten füttern und anschliessend mit dem vorherigen Inhalt (nur die ersten 4096 bytes) vergleichen.



Dem Aufbau der Sprungmarken/Kapitelmarken kommt man genauso schnell auf die Schliche. Dazu einfach mal dem Kreativ-Tonie immer wieder ein weiteres Kapitel spendieren und die Unterschiede in der Toniedatei (auch hier nur die ersten 4096 bytes) beobachten.



Am Ende nochmal der Hinweis auf opusdec, opusenc und opusinfo.


Die Dateien eignen sich hervorragend um z.B. mit AutoIT was zur automation zu basteln. ;-)




PS: Nur damit niemandem der gleiche Fehler wie mir passiert:


Zur Verlängerung des Micro SD Slot bitte nicht so einen benutzen…


https://www.amazon.de/Extender-Verl%C3%A...


…der hat Widerstände/Hitzeschutz verbaut und führt dazu, dass nicht ausreichend Strom an der Micro SD Karte ankommt.



Lieber so einen benutzen…


https://www.amazon.de/microSD-T-Flash-Ve...


So einer funktioniert ohne Probleme. Hitzeschutz ist ja sowieso schon im Slot auf dem Board verbaut und verweigert dann auch nicht den Dienst wegen zu hohem Verbrauch.


Ich habe so einen mit Heißklebepistole in die Hülle des ersteren geklebt und das ganze dann ebenfalls mit Heißkleber an, unter oben beschriebenen Deckel, der Unterseite der Box fixiert.

Was this answer helpful?

Score 4

Комментарии:

Respekt Hoffi, das ist eine der ausführlichsten Antworten, die ich hier im Forum gesehen habe. Hut ab auch für die zusätzlichen Infos zum Dateiaufbau. Das sollte schon fast ein eigener Wiki-Eintrag für die Toniebox werden :)

by

Respekt Hoffy!

Gute Arbeit!

Konntest Du herausfinden, ob die Verzeichnisnamen bei unterschiedlichen Boxen und Benutzen für jeweils dem selben Tonie(z.B. Löwentonie) identisch sind?

Und hat ein zweiter LöwenTonie auf einer anderen Box mit unterschiedlichem Benutzer immer noch den selben Verzeichnisnamen?

Würde gerne wissen, ob der Verzeichnisname einem eindeutigen Chip (also UID), oder dem Inhalt, also dem Hörbuch zugeordnet ist.

Kannst Du näheres zu den Kennungen sagen?

Ist bekannt wofür die 10er, 18er und 0522er Kennung stehen, bzw. welche Information diese beinhalten?

Ich werde meine Box gleich morgen mal zerlegen um auch selber einen Blick auf die SD Karte werfen zu können. Für die von Dir genannten Prozesse könnte man ja ein kleines Script / Programm schreiben, um dieses zu erleicchtern. Werde mir das mal ansehen.

Gruß,

Gambrius

by

Hallo Gambrius,

Ich wollte kurz antworten, scheitere aber an der maximal möglichen Zeichenanzahl im Antwortfeld und dem dafür notwendigen.^^

Ich hänge unten mal die Antwort an, dort geht ja mehr.

by

Hallo Hoffy,

vielen Dank für diese unglaublich interessante Zusammenfassung deiner Erkenntnisse zum Dateiaufbau. Ich werde mich in naher Zukunft mal diesem Projekt widmen.

Mich würde aktuell noch etwas genauer interessieren, wie du die Micro SD-Verlängerung angebracht hast. Könntest du hierzu vielleicht ein paar Fotos bereitstellen?

Grüße

Marook

by

Hallo Marook,

bin derzeit im Urlaub und kann keine Fotos unserer Toniebox liefern, habe jedoch mal etwas auf die schnelle am Laptop zusammen gebastelt um den Vorgang zu veranschaulichen. Ist jetzt kein professinelles "how to", sollte es aber gut genug veranschaulichen.

https://www.bilderhoster.net/safeforbild...

Auf Wunsch werde ich das später, Zuhause, mal ordentlich machen.

Hoffy

by

Show 3 more comments

Add a comment

Habe mal wieder etwas experimentiert und brauche etwas mehr Platz als die möglichen 1024 Zeichen im Kommentarbereich.


Zwei völlig identische Hörbücher an die Toniecloud, für zwei Verschiedene Kreativ-Tonies, übergeben.


an Kreativ-Tonie 1:

00000FFC0A14 32821E0110DA24511BB5F9B52F820705C1987F50

10 C5AEA820

18 C9BDEFED

0522 4F 00 FB 05 AB 0B E8 0C AD 11 DD 15 EF 18 BE 1C DD 1F B2 24 9C 26 B6 28 D0 2A A4 2D AB 2F CF 32 93 36 D7 3A 8C 3D C7 41 F7 42 AE 46 9D 4A DA 4C C8 4E FD 52 84 57 E4 59 C6 5E DA 60 AE 63 CD 65 E9 66 82 6A D4 6C 92 6F B0 72 A5 76 9F 78 AE 7C 2A 87 1F 00

an kreativ-Tonie 2:

00000FFC0A14 7246CAB7598A97FF59720A8B502BE6435992598B

10 C5AEA820

18 E0C0EFED

0522 4F 00 FB 05 AB 0B E8 0C AD 11 DD 15 EF 18 BE 1C DD 1F B2 24 9C 26 B6 28 D0 2A A4 2D AB 2F CF 32 93 36 D7 3A 8C 3D C7 41 F7 42 AE 46 9D 4A DA 4C C8 4E FD 52 84 57 E4 59 C6 5E DA 60 AE 63 CD 65 E9 66 82 6A D4 6C 92 6F B0 72 A5 76 9F 78 AE 7C 2A 87 1F 00

Bereich D und Bereich I sind trotz unterschiedlicher Kreativ-Tonies völlig identisch.

Die zweite Hälfte von F ebenfalls.


danach zwei verschiedene Hörbücher für den letzteren der beiden, um zu sehen was da mit Bereich D und Bereich F passiert.


an Kreativ-Tonie 2:

00000FFC0A14 5D5308CD37E0961EB9EA022E731A565E75331956

10 9DAF821A

18 C4F6EFED

0522 0B 00 A4 10 B2 21 B2 33 F2 43 A6 57 2A CB 1F 00

nochmal an Kreativ-Tonie 2:

00000FFC0A14 EC5C9B78A88D3D9A47A69C432BA781A47DC00270

10 85DACF19

18 A380F0ED

0522 0D 00 AE 10 A7 1F B8 2D FC 3B A2 4A D6 5A 2A C9 1F 00


Bereich B verändert sich, weil bei jedem Encodiervorgang natürlich andere Rohdaten entstehen und sich so der SHA-1 Hash verändert.

Aber was passiert da mit Bereich D und Bereich F?

Bereich F fällt dadurch auf, dass dieser wohl nochmal in der hälfte geteilt werden muss in Bereich F1 und Bereich F2.

Ich konnte folgendes Muster erkennen (habe es jetzt sehr oft getestet): Übergebe ich der Toniecloud, in einer Session, mehreren Kreativ-Tonies Hörbücher, so ist Bereich F2 Identisch.

Bei der Nächsten Session ist Bereich F2 immer noch Identisch.

Bei der übernächsten Session ist Bereich F2 nur noch Identisch, wenn der selbe Kreativ-Tonie bespielt wird.


Bereich D ist also an Bereich I gekoppelt, das "wie" ist mir noch ein Rätsel.

In Frage kommt weiterhin Gesamtlänge für Bereich B und Sprungmarken für Bereich I.

Aber auch ein Zusammenspiel von Bereich D und Bereich I als Sprungmarken.

Man kann auch jetzt wieder mit Sicherheit sagen, dass Bereich I die Sprungmarken sind, auch wenn sie neuerdings anders aufgebaut sind.


Und jetzt für die, die nur Archivieren wollen (und alles andere total langweilig und unnütz finden):

Als Fazit für alle, die jetzt schon Toniedateien archivieren wollen und gern den Nichtkreativ-Tonie als kreativen wiederbeleben wollen, weil der vielleicht schon alt ist und einfach nicht mehr gehört werden will:

Im Offlinemodus kann man jetzt jede Toniedatei mit jeder beliebigen vorhandenen Toniedatei austauschen und wird erfolgreich von den Tonies abgespielt.

Damit ist es möglich, offline, jeden Tonie als Kreativ-Tonie zu nutzen. Dazu einfach einen Kreativ-Tonie in der Toniecloud bespielen und auf der SD-Karte die Dateien austauschen und im Offline-Modus der Box geniessen.

Ist die Box im Online-Modus, kann man jedem Kreativ-Tonie auch eine schon mal für diesen Kreativ-Tonie erstellte Datei zum Abspielen ins Verzeichnis legen, es erfolgt dann auch online keine Aktualisierung.

Wenn Boxine uns gut gesinnt ist, lassen sie das so und verkaufen es uns als Feature. ;)

Kleines Manko, welches mir noch aufgefallen ist. Neue SD-Karten, welche man eventuell mal ensetzen will, müssen jetzt nicht mehr nur in FAT32 Formatiert werden, sie müssen jetzt auch den gesamten Anmeldeprozess der Toniebox durchlaufen um zu funktionieren.

Aber damit kann man leben. ;-)

Was this answer helpful?

Score 2

Комментарии:

Moin,

seltsam finde ich, dass du in Versuch 1 bei identischen Hörspielen unterschiedliche Checksummen (Block B) erhältst. Wenn du eine WAV Datei nach Opus oder mp3 konvertierst, bekommst du ja auch immer das selbe Ergebnis. Hast du den Opus Teil mal verglichen ob da irgendwo ein Datumsstempel reinwandert? Ich selber habe keine Kreativtonies.

by

Das liegt einfach am Encoder für Opus.

Bei jeder Kodierung wird der Opusdatei eine ID zugeordnet, die kann man selbst wählen oder vom Encoder random generieren lassen.

Der zu opusenc passende Befehl lautet opusenc --serial 3134983660

Dabei ist dann BA DC 0D EC die eindeutige Seriennummer der Opusdatei.

Boxine hat hier keine ID beim kodieren vorgegeben, also wird diese zufällig erzeugt. So kommt es zu unterschiedlichen SHA-1 Hashes des Audioteils bei der selben Audiovorlage.

Daher meine Aussage: "Bereich B verändert sich, weil bei jedem Encodiervorgang natürlich andere Rohdaten entstehen und sich so der SHA-1 Hash verändert."

Hoffe ich konnte das verständlich erklären.

Hoffy

Edit: Mal so geändert, dass auch eine echte Seriennummer bei raus kommt und nicht nur ein Beispiel

by

Ach ja, natürlich. Die Seriennummer. Sorry

by

Mich hat bisher irritiert, warum die Zahlen im Bereich I (welche ja Sprungmarken darstellen) jetzt so Wahllos erscheinen.

Sie sind aber nicht wirklich wahllos.

Sie wurden einfach nur gedreht und so bekommt man beim Zurückdrehen wieder aufsteigende Werte für die Sprungmarken.

Beispiel für 10 Kapitel im Bereich I:

00 = 00 = 0

FB 05 = 05FB = 1531

AB 0B = 0BAB = 2987

E8 0C = 0CE8 = 3304

AD 11 = 11AD = 4525

DD 15 = 15DD = 5597

EF 18 = 18EF = 6383

BE 1C = 1CBE = 7358

DD 1F = 1FDD = 8157

B2 24 = 24B2 = 9394

Damit sollte sich in nicht allzuferner Zeit wieder eine Formel für die Sprungmarken finden lassen.

Laufzeiten der hochgeladenen Audios sind ja jedem bekannt.

Demnach ist alles jetzt nur noch eine komplizierte Matheaufgabe, in der man einen gemeinsamen Nenner finden muss.

Hoffy

by

Hallo Hoffy,

folgendes muss bedacht werden: Die Speicherreihenfolge der Bytes verhält sich nach dem "Little-Endian" System. d.h. ein HexWert A1B2C3D4 wird im Speicher als D4C3B2A1 gespeichert.

Im Bereich F, in dem ich einen Zeitstempel vermute, erklärt dieses, warum sich das 3. und 4. Byte dieser Bereiche nur seltene verändert, als das 1. und 2. Byte.

Gehe davon aus, dass sich im Bereich F ein hochlaufender Zeitwert analog dem Unix Zeitstempel befindet.

Auch die Sprungmarken im Bereich I sind jeweils im Little-Endian Format geschrieben. Wobei zu beachten ist, dass wenn die ersten Kapitel kurz genug sind, die Sprungmarke nur mit einem Byte dargestellt wird.

Aus diesem Grund war in meinem Beispiel von 99 Kapiteln mit jeweils 10 Sekunden die ersten 5 Kapitel mit nur einem Byte, und alle weiteren mit zwei Byte dargestellt (dann jeweils im Little-Endian Format, also "vertauscht" wie Du es auch festgestellt hast).

by

Show 4 more comments

Add a comment

Hallo,

ich habe versucht mit den Eckdaten von Hoffy1968 weitere Erkenntnisse zum Aufbau der Headerdaten zu erhalten:

Folgenden Strukturaufbau konnte ich erkennen:

A - 06 Byte - Konstanter Wert (Identifikation als Tonie-Datei, evtl. Versionsnumer der Header Struktur)

B - 20 Byte - SHA-1 Hash der AudioDatei (Hash über Audioanteil der Datei nach dem 4096 Byte Block des Headers)

C - 01 Byte - Konstanter Wert "10"

D - 04 Byte - ??? - Vermutlich Gesamtlaufzeit der Audiodatei

E - 01 Byte - Konstanter Wert "18"

F - 04 Byte - ??? - Vermutlich letztes Änderungsdatum in der Cloud (z.B. Kreativtonie)

G - 02 Byte - Konstanter Wert "0522"

H - 01 Byte - Anzahl der Bytes im Folgenden Byte-Block

I - XX Byte - pro Track 2x Byte. (1. Track / Sprungmarke immer "00", danach immer 2x Byte)

J - 01 Byte - Konstanter Wert "2D"

K - 01 Byte - Wert ergibt sich aus [214 - "Feld H" (Anzahl der Bytes im Sprungmarkenbereich)]

L - 01 Byte - Konstanter Wert "1F" - Abschluss der Header Daten

M - XX Byte - mit “00” Bytes bis 4095 aufgefüllt.

Bereich A:

Hierbei handelt es sich um eine Konstante Kennung, die über alle Tonieboxen identisch ist. Also keine User-Zuordnung beinhaltet. Evtl. ist hier noch eine Versionsnummer der Header-Struktur hinterlegt.

Bereich B:

Der Hash wird rein über den Teil der Datei gebildet, die den OGG Audioteil darstellt.

Bereich D:

Der Wert ändert sich je nachdem wie viele Tracks und welche Gesamtlänge die Audiodaten haben. Vermutlich ist hier die Gesamtspielzeit in einem TimeStamp enthalten

Bereich F:

Bei jeder Änderung steigt dieser Wert an. Gehe davon aus, dass hier das letzte Änderungsdatum der Cloud Daten hinterlegt ist.

Beim Auflegen eines Tonies wird dieser Zeitstempel mit dem der Cloud verglichen und danach entschieden, ob eine Aktualisierung der Offlinedaten auf der SD-Karte statt findet. Evtl. wird auch noch der SHA-1 Hash abgeglichen, konnte aber noch nicht nachvollzogen werden.

Bereich H:

Hier wird die Byte-Länge / Byte-Anzahl des folgenden Bereiches dargestellt. Kleinster Wert ist "01", wenn nur ein Kapitel dem Kreativtonie zugeordnet wurde.

Bereich I:

Dieser Bereich ist in der Größe variabel. Die Größe hängt von der Anzahl der Kapitel auf dem Tonie ab. Das erste Kapitel wird immer mit einem Byte "00" dargestellt, da dieses quasi den Anfang der Audiodatei darstellt. Für jedes weitere Kapitel werden zwei Bytes hinzugefügt. Diese stellen eine Sprungmarke da, um in der zu einer gesamt  zusammen gefügten Audiodatei in die einzelnen Kapitel zu springen. Aufbau der zwei Bytes ist noch unbekannt. Jedoch konnte festgestellt werden, wenn einfach nur ein weiteres Kapitel hinzugefügt wird, verändern sich die Doppelbytes für die davor liegenden Sprungmarken nicht. Es wird lediglich ein weiteres Doppelbyte hinzugefügt.

Evtl. handelt es sich hierbei um die "Absolute Granule Position" und dem "PreSkip". Nähere Informationen hierzu im Datenblatt zum Opus Audiocodec im Kapitel 4.3

Kapitel K:

Die Summe aus diesem Byte und dem Byte im Bereich H (Anzahl der Bytes für die Sprungmarken), ergibt immer 214.

Also lässt sich sagen "Byte K = 214 - Byte H".

Gesamtgröße Header:

Die Gesamtlänge des Headers liegt bei maximal 255 Byte.

Der restliche Raum bis zum 4096. Byte ist mit "00" gefüllt.

Automatische Cloudaktualisierung:

Wahrscheinlich nur durch eine Abweichung zwischen dem Offlinewert des Bereichs F (Zeitstempel) und dem in der Cloud abgespeicherten Zeitstempels der letzten Änderung. Evtl. wird auch der SHA-1 Hash betrachtet, konnte noch nicht verifiziert werden.

Dateiname:

Der Dateiname der auf der SD-Karte gespeicherten Datei (bestehend aus Header und Ogg Anteil) ist die Tonie-Cloud-ID. Also eine eindeutig dem User zugeordnete ID.

Verzeichnisname:

Der Verzeichnisname hat einen direkten Bezug zum Tonie. Entweder besteht er aus dem letzten Teil der UID des Tonies, und ist somit einmalig pro Tonie vergeben, oder er ist eindeutig einem Hörspiel zugeordnet. Letzteres würde bedeuten, dass zwei gleiche Tonies den gleichen Verzeichnisnamen haben, bzw. sich auf einer Tonibox ein Verzeichnis teilen. Hierzu fehlte mit ein zweiter Tonie, um das nachzuvollziehen. Evtl. kann dieses jemand machen. Meine Löwenfigur des Tonie-Starterkits hat folgenden Verzeichnisnamen: "BD200Bxx".

Den Abgleich mit der UID konnte ich noch nicht durchführen, da ich noch Probleme mit der Bildung des XOR-Passwortes habe und somit die UID noch nicht auslesen konnte.

RFID Daten:

Ich konnte bereits erfolgreich die RandomNumbers von den Tonies abfragen, jedoch habe ich mit dem daraus gebildeten XOR-Passwort keine Antwort erhalten. Falls jemand mir erklären könnte, wie ich das XOR-Passwort korrekt bilde und dann mit dem Proxmark3 den Tonie auslesen kann, wäre ich dafür dankbar. Evtl. hat ja jemand bereits ein LUA Script hierzu geschrieben. Über dieses würde ich mich auch freuen.

Interessant bei den RFID Daten ist zum einen die UID (siehe Punkt Verzeichnisnamen) und natürlich auch die Daten die auf dem Chip abgespeichert sind. Hier würde mich der Abgleich mit dem Header interessieren, ob daraus etwas ableitbar ist, oder ob es sich nur um eine verschlüsselte Checksumme der UID handelt, um die Echtheit des Tonies nachzuweisen.

Interessant wird das Ergebnis von Dirk (tueddy) sein, der es bereits geschafft hat mit einem PE5180 und einem Arduino die Tonie auszulesen. Freue mich schon auf die Veröffentlichung des Skriptes.

Audiocodec:

Bei dem Audicodec handelt es sich um eine Opus Audiodatei, die mit dem Encoder Lavf58.20.100 des Opustools in der Version 0.1.10 codiertwurde (Danke Hoffy1968)

Kommunikation Toniebox mit Tonie-Cloud:

Aktuell gibt es keine Erkenntnisse darüber, wie die Kommunikation abläuft. Hier kann sich gerne noch einer dran austoben.

Jedoch konnte ich in einem http-Request der Tonie-Cloud feststellen, dass eine Kombination vom oben genannten Verzeichnisnamen und Dateinamen als Identifikationsnummer für den Kreativtonie verwendet wird.

Mal sehen was die Cloud uns noch so verrät.

Soweit der aktuelle Stand des Ganzen.

Besonderen Dank an Hoffy1968, für die gute Vorarbeit und den guten Austausch.

Wenn noch jemand weitere Informationen hat, würde ich diesen Stand gerne aktualisieren.

Würde mich freuen weiter mit Euch an diesen Themen zu arbeiten.

Gruß,

Gambrius

P.S.: Werde mal prüfen, ob wir für dieses Thema nicht ein WIKI aufmachen können.

Was this answer helpful?

Score 1

Комментарии:

Hallo Gambrius,

ich liefere mal nach. ;-)

Im Bereich A: Auf allen von mir getesteten Boxen "00000FFC0A14"

Somit für die Entschlüsselung eher unwichtig.

Bereich D: Nicht konstant 4 Byte, bei meinen 17 Kapiteln je 1 Sekunde auf 3 Byte reduziert. Deutet tatsächlich auf einen Zeitstempel hin.

Bereich F: Leider kein Datumsstempel, oder kein mir bekanntes Format, zu unterschiedlich die Einträge bei in kurzen Abständen (weniger als 5 Minuten) in die Toniecloud geladene Audios. Da müsste sonst ein Muster zu erkennen sein.

Bereich I: Nicht konstant 2 Byte, bei meinen 17 Kapiteln je 1 Sekunde auf 1 Byte reduziert.

Teste dort gerade an der alten Formel (Sprungmarke = (granule position - preskip)/48000) herum.

Im Bereich J: Dort ist konstant auf allen von mir getesteten Boxen "2A"

Somit gehe ich bei dir von einem Tippfehler aus.

Hoffy

PS: Schön nicht mehr ganz allein zu werkeln.

by

Hallo Hoffy,

Bereich A: Kann ich bestätigen. Jedoch besteht noch die Möglichkeit, dass sich bei einem Strukturwechsel hier die Versionsnummer enthalten ist. Du hattest doch gerade einen krassen Firmwarewechsel bei Dir. Sind diese Werte zwischen der ganz alten und der ganz neuen Version Konstant geblieben?

Bereich D: Ja, konnte ich auch feststellen. Wenn die Gesamtlaufzeit klein genug ist, dann sind hier weniger als 4 Bytes enthalten. Somit machen auch die Sprungmarken "10" "18" und "0522" wieder Sinn.

Bereich F: Bin immer noch der Meinung, dass es sich um einen Zeitstempel handelt. Von den vier Bytes steig das erste Byte am schnellsten an, und dass letzte Byte am langsamsten. Hier zählt im übrigen der Zeitpunkt, wann das letzte mal der Speicherbutton in der Cloud gedrückt wurde. Gehe davon aus, dass dort eine Art UnixTimeCode mit einem Offset oder so enthalten ist.

by

Bereich I: Konnte ein ähnliches Bild erhalten. Eine Mischung aus zwei und einem Byte pro Kapitel. Jedoch wirft das nur weitere Fragen auf. Wie werden die Sprungmarken voneinander abgegrenzt. Wo fängt die eine Sprungmarke an und hört die andere auf?

Denke, dass Deine Formel, die ja bereits in Deiner alten Syntax funktioniert hat hier uns weiter helfen kann. Bitte berichten, falls Du hier weiter gekommen bist.

Bereich J: Du hast recht. Ein Tippfehler. Bei mir ist auch ausnahmslos das Byte mit dem Wert "2A" vorhanden.

Eine weitere Anomalie konnte ich feststellen, nachdem ich einen Kreativtonie mit 99 Kapiteln a 10 Sekunden gefüllt habe. Hierbei wird der Header nicht mehr mit dem Wert "1F", sondern mit dem Wert "1E" abgeschlossen.

des Weiteren findet man in dem Bereich I nur 193 Byte für die 99 Kapitel.

Im Bereich H sind die 193 Byte erwähnt, jedoch findet man im Bereich K den Dezimalwert 148. Passt also nicht zur sonstigen Summe 214.

Ist aktuell jedoch nur bei 99 Kapitel aufgefallen.

Gruß,

Gambrius

by

Hallo Gambrius,

in meinen alten Dateien ist Bereich A gleich dem neuen, somit denke ich tatsächlich, dass es sich hierbei nur um eine Datei(Header)kennung handelt.

Bereich F behalte ich mal im Auge, bezüglich Zeitstempel.

Bereich I, sehr verwirrend, vorher immer 2x byte jetzt gemischt.

Mit der alten Formel komme ich da nicht weiter. Beobachte derzeit mal den Datenverkehr mit Hilfe der Aufzeichnungsfunktion der Fritzbox und Wireshark.

Scheint als wäre Bereich K doch keine Prüfsumme, oder es fliessen noch andere Werte ein.

by

Derzeit versuche ich mit Wireshark und der Fritzbox mal dem Datenverkehr einige Informationen zu entlocken. Auffällig ist nämlich folgendes:

Vorher musste die Toniebox, nach Benutzung von archivierten Toniedateien, im Offlinemodus betrieben werden um einer Aktualisierung zu entgehen. Dieses ist nun anders. Man kann einfach archivierte Toniedateien auf die Karte kopieren ohne das eine Aktualisierung erfolgt. Ich schrieb ja schonmal, dass der Trigger für eine Aktualisierung wohl nur in der Toniecloud gesetzt wird und die Toniebox nur noch abfragt ob eine Aktualisierung vorliegt.

Ich erhoffe mir mit Wireshark herauszufinden, ob der 4096 byte große Bereich erst auf der Toniebox erzeugt wird, oder schon in der Tonicloud beim enkodieren der Audiodatei. Ersteres gäbe mir Hoffnung das Pferd mal ganz anders aufzuzäumen. Dann könnte man sich das Entschlüsseln völlig sparen und versuchen der Toniebox direkt eigene Audiodateien unterzujubeln. ;)

Hoffy

by

Show 10 more comments

Add a comment

Bin wie Gambrius vorgegangen und habe mal einiges komplett ausgeschlossen.

Ich widme mich den Sprungmarken erst wieder, wenn ich Die Frage mit Bereich D und Bereich F gelöst habe.

Ohne diese Lösung braucht man den Sprungmarken nicht weiter auf den Grund gehen.

Denn Archivieren kann man nun auch schon so,zwar nur über den Umweg der Toniecloud, aber immehin.

Um komplett auf die Toniecloud verzichten zu können, ist die Entschlüsselung von D und F aber von höherer Priorität.




Mehr als folgende zwei Versuche braucht es nicht um die Wichtigkeit von D und F hervor zu heben:


Zwei absolut identische Hörbücher, über die Toniecloud, auf zwei verschiedene Kreativtonies geladen

00000FFC0A14

32821E0110DA24511BB5F9B52F820705C1987F50

10

C5AEA820

18

C9BDEFED

0522

4F 00 FB 05 AB 0B E8 0C AD 11 DD 15 EF 18 BE 1C DD 1F B2 24 9C 26 B6 28 D0 2A A4 2D AB 2F CF 32 93 36 D7 3A 8C 3D C7 41 F7 42 AE 46 9D 4A DA 4C C8 4E FD 52 84 57 E4 59 C6 5E DA 60 AE 63 CD 65 E9 66 82 6A D4 6C 92 6F B0 72 A5 76 9F 78 AE 7C

2A 87 1F 00

und

00000FFC0A14

7246CAB7598A97FF59720A8B502BE6435992598B

10

C5AEA820

18

E0C0EFED

0522

4F 00 FB 05 AB 0B E8 0C AD 11 DD 15 EF 18 BE 1C DD 1F B2 24 9C 26 B6 28 D0 2A A4 2D AB 2F CF 32 93 36 D7 3A 8C 3D C7 41 F7 42 AE 46 9D 4A DA 4C C8 4E FD 52 84 57 E4 59 C6 5E DA 60 AE 63 CD 65 E9 66 82 6A D4 6C 92 6F B0 72 A5 76 9F 78 AE 7C

2A 87 1F 00


Alles bis auf B und F ist völlig identisch und lässt sich auf jeden beliebigen Tonie abspielen, wenn man die Dateien auf die SD Karte überträgt.

B ändert sich, weil durch die vom Encoder erstellte Seriennummer zufällig erstellt wird und somit ein anderer SHA-1 Hash zustande kommt.

F ist eine fortlaufende Nummer, sie wird in meinen Dateien immer größer. (Ich erwarte in kürze, was passiert, wenn FFFFFFFF erreicht ist)


Ändere ich einen Wert in D oder F etwas ab, meldet die Toniebox im Offline-Modus den Fehler "Deine Box befindet sich im Offlinemodus", im Online-Modus aktualisiert sie die Datei sofort aus der Cloud.

Meine Frage war nun..."Prüft Boxine die Dateien online nochmal auf richtigkeit?"


Nun habe ich mal folgendes probiert um zu schauen ob D oder F eine weitere Prüfsumme für J ist und eine Prüfung überhaupt durchgeführt wird.

00000FFC0A14

0C56C24DAA8916218E3DBA35E74780A86ADDC2CC

10

FBF4A61B

18

CFBB8AEE

0522

0D 00 BE 10 D8 20 C1 30 EC 3F FE 4F C4 5E

2A C9 1F 00

und

00000FFC0A14

0C56C24DAA8916218E3DBA35E74780A86ADDC2CC

10

FBF4A61B

18

CFBB8AEE

0522

0D 00 BD 11 D7 1A C0 2A ED 3E FD 4E C3 5D

2A C9 1F 00


Also die Sprungmarken unwesentlich verändert um gültige Sprungstellen zu treffen, aber dennoch einen eventuellen CRC-Fehler zu provozieren.

Ergebnis: Spielt ab ohne Probleme, Sprungmarken springen an neue Positionen. (Hier werde ich später Ansetzen, falls ich keine andere Lösung finde. Stichwort: Formel erstellen aus Sprungmarkenliste)

Es gibt somit keine weiteren Prüfsummen, welche innerhalb des 4096 byte großen Bereichs zum tragen kommen!


Wenn man nun berücksichtigt, dass...


1 sich alle Toniedateien (auch im Online-Modus) anderen Tonies untejubeln lassen,

2 alte, archivierte, Toniedateien jederzeit wieder eingesetzt werden können,

3 der interne Speicher der Toniebox unmöglich so groß sein kann, sich alle alten Dateien zu merken,

4 es sogar irrelevant ist, ob der TRASHCAN Ordner auf der SD Karte gelöscht wird,

5 ein Onlinearchiv für alle jemals hochgeladenen Audiodateien und dem Abgleich mit diesem vorm Abspielen schließe ich mal kategorisch aus. Das würde nämlich bedeuten, dass ein heimisches Archivieren von Boxine vorgesehen war und sie hätten die SD-Karte gleich erreichbar angebracht und uns dieses als Feature verkauft,


...dann muss man davon ausgehen, dass eine Prüfung der Toniedateien online nicht stattfindet.


Da aber auch die kleinste Änderung in D oder F sofort zur Verweigerung der Toniedatei führt, müssen diese Einträge an die Audiodatei gekoppelt sein.

Irgendwo aus dem Audioteil kommen diese Einträge in D und F also her.

Für D käme gesamt Audiolänge, Anzahl aller Sample, Anzahl Frames etc.etc in Frage.

Für F muss eine Aufsteigende Zählung erkennbar sein, welche auch bei sehr kurzen Audiodateien zum tragen kommt. Ein Datum oder eine Uhrzeit schliesse ich aus, dafür geht der Zähler zu unregelmäßig in die Höhe.

Eventuell nutz Boxine eine Art Zähler für interne statistische Zwecke, welcher die konvertierten Toniedateien durch die Toniecloud aller Nutzer zählt.


Ich arbeite dran ;)


Hoffy

Was this answer helpful?

Score 1

Комментарии:

Hallo Hoffy,

Ich bin weiterhin der Meinung, dass D und F Zeitstempel sind.

Bereich D: in Deinem Beispiel konnte man sehr gut erkennen, dass bei identischen Hörbüchern ein gleicher Wert in diesem Bereich enthalten ist.

Bereich F: bin nicht der Meinung, dass die Änderung der Werte zu unregelmässig ist. Habe bei einem Kreativtonie die exacte Uhrzeit festgehalten, bei der das letzte mal auf Speichern in der Cloud gedrückt wurde, und den jeweils daraus folgenden Wert für den Bereich F ermittelt, nachdem die Datei in die Tonibox herunter geladen wurde. Habe dieses für mehrere verschiedene Speichervorgänge gemacht. Wenn mann jetzt das Delta zwischen den Uhrzeiten und zwischen den Bytewerten im Bereich F sich anschaut, stellt man eine ähnliche Entwicklung fest.

by

Ich erkläre mir das ganze so:

Beim Abspielen eines Tonies wird neben dem Ordnernamen (Teilnder UID), der Bereich D und Bereich F mit der Cloud abgeglichen. Quasi geprüft, wann die letzte Änderung der Cloud Daten war, also der Abgleich des Bereichs F zwischen dem Stand in der Cloud und dem Stand in der ToniBox

Das selbe passiert bei dem Abgleich der Gesamtlaufzeit, also dem Bereich D. Wenn es einen Unterschied in der Gesamtlaufzeit des Tonies gibt, wird die Datei aus der Cloud geladen.

Jetzt stellt sich die Frage, was passiert im Offlinemodus genau?

Da du geschrieben hast, dass eine Veränderung in diesen beiden Bereichen auch im Offlinemodus zu einer Fehlermeldung führt, bleiben zwei Möglichkeiten:

by

1. der Bereich D kann direkt mit der Audiodatei zwecks Überprüfung abgeglichen werden, so dass eine Veränderung direkt auffällt. Und für den Bereich F eine Art Prüsumme (z.B. Des Bereichs D) mit eingebunden ist, und so eine Veränderung auch im Offlinemodus erkannt wird.

2. Oder die Werte des Bereich D und F jeweils zur UID in einer extra Datei in einen der beiden ersten Ordner mit abgespeichert wird, und somit ein Abgleich der Bereiche auch im Offlinemodus möglich ist. Habe den ersten beiden Ordnern noch keine Zuneigung gezeigt, und kann somit dieser Theorie keinerlei Grundlage zuweisen.

Gruss,

Gambrius

by

Danke für die Rückmeldung.

Werde da nochmal genauer draufschauen müssen.

Einen Abgleich für D und/oder F online schliesse ich jedoch kategorisch aus.

Dann wäre es nicht möglich alte (vorher genutzte) Toniedateien zu nutzen.

Das tauschen der Toniedateien über verschiedene Tonies hinweg wäre damit auch nicht möglich. Einer Online-Prüfung würde das ja nicht standhalten.

Hoffy

by

Kleine Zusatzinfo und Gedanken:

Wird in der Toniecloud eine neue Datei geladen und diese später auf der Toniebox abgerufen, passiert folgendes.

1. Tonie steht auf der Box

2. Der Audio-Stream (ja es ist ein Stream) startet unverzüglich in einer temporären Datei.

3. Die temporäre Datei wird im Hintergrund von der Box verändert/angepasst.

4. Die veränderte/angepasste temporäre Datei wird in zum Tonie gehörigen Ordner im CONTENT Ordner verschoben und der Dateiname angepasst.

5. Die temporäre Datei, der Audiostream landet im TRASHCAN Ordner.

Diese Datei lässt sich leicht finden, wenn man den TRASHCAN Ordner vor der Aktualisierung (Tonie auf die Box stellen und Aktualisierung anstoßen) leert.

Meine Gedanken dazu sind wie zuvor, mittels MITM und packet injection der Box einen eigenen Stream unterzujubeln.

Hierbei läge auch kein verbotener Vorgang zu Grunde, da ich lediglich meinen eigenen W-Lan Empfang manipulieren würde.

Das Wissen für den Weg dahin muss ich mir jedoch noch aneignen.

Hoffy

by

Show 9 more comments

Add a comment

Hallo,

habe nach einiger Zeit mir die Sprungmarken, und die Definition des Ogg Standards mal wieder angesehen. Habe festgestellt, dass die “Sprungmarken”, die ich im Bereich I vermutet habe, sogenannte “page sequence numbers” sind.

Ein Ogg Stream ist in sogenannte Pages unterteilt, die jeweils min. 4kb groß sind (das erklärt auch die min. 4kb Größe bei ganz kurzen Kreativtonie-Audiodateien). Jede Page fängt mit den “Magic numbers” “4F 67 67 53” an, welches den Text “OggS” darstellt.

Die “Page Sequence Number” ist immer im Bereich 15 bis 18 Bytes nach der “Magic Number” zu finden. Jedoch ist anhand der “Page Sequence Number” nicht die Laufzeit bis zur Sprungmarke ersichtlich, da die einzelnen Pages unterschiedlich lang / groß sein können.

Jedoch wird im Bereich 3 bis 10 Bytes nach der “Magic Number” die “Granule Position” genannt, welche die Anzahl der Samples bis zu dieser Page darstellt. Teilt man den Wert der “Granule Position” geteilt durch 48.000 (48kHz Sampling rate), erhält man den Sekundenwert der Sprungmarke.

Die jeweiligen Werte “page Sequence Number” und “Granule Position” sind jeweils im LSB Style gespeichert und der rest des Bereichs mit “00” aufgefüllt.

Der Standard beschreibt ebenfalls, dass die erste “Page Number Sequence” immer den Wert 0 haben muss. Dieses habe ich weiter oben als Bereich I-1 bezeichnet. Damit wäre bestätigt, dass dieses den Beginn des ersten Tracks, also die “Page Sequence Number” 0 darstellt.

Wie ich im Vorfeld bereits durch versuche herausgefunden haben, können diese Sprungmarken einfach gelöscht, ergänzt oder verändert werden, da diese nicht durch eine Prüfsumme im Header verankert sind.

Gruß,

Gambrius

Was this answer helpful?

Score 1

Комментарии:

Zitat: "Wie ich im Vorfeld bereits durch versuche herausgefunden haben, können diese Sprungmarken einfach gelöscht, ergänzt oder verändert werden, da diese nicht durch eine Prüfsumme im Header verankert sind."

Ja^^

Schrieb ich vor 6 Tagen schonmal weiter oben. ;)

Deshalb war mir das mit den Sprungmarken nicht mehr so wichtig, die Lösung steht ja schon ganz klar verstreut oben herum. und wartet am Ende nur noch auf Zusammenfassung.

Finde nach wie vor viel wichtiger D und F zu lösen, denn ohne diese geht nichts.

Beisse mir aber an einer Formel die Zähne aus, da D zwar je nach steigender Laufzeit des Audio ansteigt, aber D ist nicht linear.

Selbiges mit F und dem Zeitstempel in der Audio ID, ansteigend nach Unix Time Stamp, aber F ist nicht linear.

Ich suche verzweifelt eine weitere Unbekannte in beiden fällen um D und F auflösen zu können.

by

Wieso ist F nicht linear? Du hat doch in Deinen Ergebnissen einen konstanten Wert nach der Division ausgewiesen. Da die Unixtime Linear verläuft, verläuft auch F damit linear. Oder sehe ich das falsch?

(Hatte dieses auch bereits vor 6 Tagen weiter oben erwähnt ;-) )

Gruß,

Gambrius

by

Ich demonstriere das mal kurz zur Veranschaulichung.

Vorab, die Audio ID ist ein Zeitstempel nach Unixtime, welchen wir ja später frei wählen können. Z.B mit einem festen Wert.

Zur Zeit sieht es an folgendem Beispiel so aus:

Wert F--Dezimal--Audio ID--F/Audio ID--Datum in Audio ID

01) C4F6EFED--3991926468--1572600644--2,5384235236266379145651678875950--01 Nov 2019 09:30:44

02) A380F0ED--3991961763--1572601891--2,5384439544718822928084600656251--01 Nov 2019 09:51:31

F/Audio ID= 2,5384xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Um von der Audio ID jedoch auf F zurück zu rechnen brauchen wir aber eine Ganzzahl ohne Komma.

Ich suche also für F noch eine Unbekannte um die Gleichung abschliessen zu können.

Genau so sieht es bei D mit der Laufzeit aus.

by

Add a comment

Wir konnten den Inhalt der Speicherkarte herunterladen und haben eine *.ogg Datei (16,2MB) in einem der CONTENT-Ordner gefunden. Diese in VLC abgespielt hatte jedoch keinen Inhalt (kein Ton).

Möglicherweise genügt es als backup die ganze Ordnerstruktur auf eine andere Speicherkarte zu kopieren und in die Toniebox zu packen. Es ist allerdings möglich, dass die Speicherkarte eine bestimmte Formatierung benötigt, um von der Toniebox gelesen zu werden.

Daher vielleicht erst die neue Karte in die Toniebox packen und eine beliebige Geschichte runterladen (damit die Karte formatiert wird). Dann die Karte mit dem backup ersetzten und wieder installieren.

Falls das schon jemand versucht oder geschafft hat, gerne die Information teilen :)

Was this answer helpful?

Score 0
Add a comment

Hallo,

habe versucht herauszufinden, bei welchen Änderungen im Header die TonieBox empfindlich reagiert und das Hörbuchfile neu herunter läd.

Habe verschieden Bytes sowohl im Bereich D als auch im Bereich F jeweils einzeln um einen Wert herunter gesetzt. Jede einzelne Änderung hat dazu geführt, dass das File erneut herunter geladen wurde.

des Weiteren habe ich im Bereich I eine Sprungmarke, also zwei zusammengehörige Bytes gelöscht. In gleichen Zug habe ich den Bereich H und Bereich K die Werte angepasst, so dass diese zur Anzahl der Bytes im Bereich I passen (H-2, K+2). Dieses hat einwandfrei funktioniert, ohne dass die Datei neu geladen wurde.

Bei einer Veränderung des SHA-1 Wertes (Bereich B) wird die Datei auch neu geladen, was aber auch logisch klingt.

Gruss,

Gambrius

Was this answer helpful?

Score 0

Комментарии:

Zu den Sprungmarken könnte dieses noch interessant sein ;)

https://wiki.xiph.org/GranulePosAndSeeki...

Erklärt es doch wunderbar, warum die Werte in I nicht proportional zur Spielzeit der Kapitel-Laufzeit ansteigen.

Der Anstieg stellt somit eher eine Kurve dar.

Da werde ich mich aber später drum kümmern.

D und F erscheinen mir persönlich gerade wichtiger.

Hoffy

by

Add a comment

Add your answer

Karabinchen28@gmail.com will be eternally grateful.
View Statistics:

Past 24 Hours: 8

Past 7 Days: 93

Past 30 Days: 592

All Time: 595