Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| dateiformat [11.06.2015 21:44] – [Padding] martin | dateiformat [11.08.2021 10:15] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 50: | Zeile 50: | ||
| ====== Die png Datei ====== | ====== Die png Datei ====== | ||
| - | Ein png-Bild der Größe 140px × 193px. (???) | + | Ein png-Bild |
| ====== Die ouf Datei ====== | ====== Die ouf Datei ====== | ||
| Zeile 60: | Zeile 60: | ||
| | Index-Tabelle | n x 12 byte = n x 3 x 32 bit | | | Index-Tabelle | n x 12 byte = n x 3 x 32 bit | | ||
| | Padding || | | Padding || | ||
| - | | MP3 (incl. optionalem ID3-Tag ) / Binärscode | + | | MP3 (incl. optionalem ID3-Tag ) / Binärcode |
| | Padding || | | Padding || | ||
| - | | MP3 (incl. optionalem ID3-Tag ) / Binärscode | + | | MP3 (incl. optionalem ID3-Tag ) / Binärcode |
| | ... || | | ... || | ||
| - | | MP3 (incl. optionalem ID3-Tag ) / Binärscode | + | | MP3 (incl. optionalem ID3-Tag ) / Binärcode |
| ===== Dateikopf ===== | ===== Dateikopf ===== | ||
| - | | 0 | Startposition der Index-Tabelle | 0x0068 | | + | | 0 (0x00) |
| - | | 4 | unbekannt | 2 | | + | | 4 (0x04) |
| - | | 8 | erste Ting-ID | 15001 (15000 gefunden; laut " | + | | 8 (0x08) |
| - | | 12 | letzte Ting-ID | | + | | 12 (0x0c) |
| - | | 16 | Anzahl der genutzten Ting-IDs | Entspricht nicht immer letzte Ting-ID – erste Ting-ID + 1 (???) | | + | | 16 (0x10) |
| - | | 20 | Buch-ID || | + | | 20 (0x14) |
| - | | 24 | unbekannt | Werte im Bereich 1 bis 20 gefunden (häufig gefunden: 2, 5, 7 und 11) | | + | | 24 (0x18) |
| - | | 28 | Erstellungszeitpunkt | + | | 28 (0x1c) | Erstellungszeitpunkt |
| - | | 32 | unbekannt | 0 | | + | | 32 (0x20) |
| - | | 36 | unbekannt | 0x0000ffff | | + | | 36 (0x24) |
| ===== Index-Tabelle ===== | ===== Index-Tabelle ===== | ||
| Zeile 105: | Zeile 105: | ||
| < | < | ||
| + | |||
| + | |||
| + | private static int getNextAddress(int x) { | ||
| + | x += 0x100 - (x & 0xff); | ||
| + | while(x % 0x200 != 0) { | ||
| + | x += 0x100; | ||
| + | } | ||
| + | return(x); | ||
| + | } | ||
| + | |||
| pos = 12 * <Anzahl der Eintrage im Index> + < | pos = 12 * <Anzahl der Eintrage im Index> + < | ||
| - | pos += (0x100 - (pos % 0x100)) % 0x100 | + | pos = getNextAddress(12 * <Anzahl der Einträge im Index> + < |
| - | while(<Die 12 (???) Bytes an der Stelle | + | while(!isMp3(<daten ab pos>) && !isScript(< |
| - | pos += 0x100; | + | pos += 0x200; |
| } | } | ||
| </ | </ | ||
| Zeile 165: | Zeile 175: | ||
| } | } | ||
| </ | </ | ||
| + | |||