Benutzer-Werkzeuge

Webseiten-Werkzeuge


dateiformat

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
dateiformat [09.06.2015 22:13]
martin
dateiformat [11.08.2021 10:15] (aktuell)
Zeile 50: Zeile 50:
 ====== Die png Datei ====== ====== Die png Datei ======
  
-Ein png-Bild der Größe 140px × 193px(???)+Ein png-Bild mit der Breite 140 Pixel. Die Höhe beträgt maximal 193 Pixel.
  
 ====== 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) | Startposition der Index-Tabelle | 0x0068 | 
-| 4 | unbekannt | 2 | +| 4 (0x04) | unbekannt | 2 | 
-| 8 | erste Ting-ID | 15001 (15000 gefunden; laut "Doku" aber fehlerhaft) | +| 8 (0x08) | erste Ting-ID | 15001 (15000 gefunden; laut "Doku" aber fehlerhaft) | 
-| 12 | letzte Ting-ID | +| 12 (0x0c) | letzte Ting-ID | 
-| 16 | Anzahl der genutzten Ting-IDs | Entspricht nicht immer letzte Ting-ID – erste Ting-ID + 1 (???) +| 16 (0x10) | Anzahl der genutzten Ting-IDs | ''"letzte Ting-ID– "erste Ting-ID+ 1'' 
-| 20 | Buch-ID || +| 20 (0x14) | Buch-ID || 
-| 24 | unbekannt | Werte im Bereich 1 bis 20 gefunden (häufig gefunden: 2, 5, 7 und 11) | +| 24 (0x18) | unbekannt | Werte im Bereich 1 bis 20 gefunden (häufig gefunden: 2, 5, 7 und 11) | 
-| 28 | Erstellungszeitpunkt (???) | UNIX-Timestamp | +| 28 (0x1c| Erstellungszeitpunkt | UNIX-Timestamp | 
-| 32 | unbekannt | 0 | +| 32 (0x20) | unbekannt | 0 | 
-| 36 | unbekannt | 0x0000ffff |+| 36 (0x24) | unbekannt | 0x0000ffff |
  
 ===== Index-Tabelle ===== ===== Index-Tabelle =====
Zeile 92: Zeile 92:
 ===== Padding ===== ===== Padding =====
  
-Die einzelnen Einträge (MP3 oder Binärcode) fangen immer an einer Adresse der Form 0x......00 an. Das Padding erfolgt mit beliebigen Zeichen (meist nullen). Eine Ausnahme bildet das Padding zwischen dem ersten möglichen Anfang des ersten Tracks und dem wirklichen Anfang des ersten Tracks. Dieser muss mit nullen gefüllt sein.+Die einzelnen Einträge (MP3 oder Binärcode) fangen immer an einer Adresse ''X'' an, mit ''(X mod 0x200) == 0''. Das Padding erfolgt mit beliebigen Zeichen (meist nullen).
  
 ===== Funktionen ===== ===== Funktionen =====
Zeile 105: Zeile 105:
  
 <code> <code>
 +
 +
 +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> + <Startposition der Indextabelle> pos = 12 * <Anzahl der Eintrage im Index> + <Startposition der Indextabelle>
-pos += (0x100 - (pos % 0x100)% 0x100 +pos = getNextAddress(12 * <Anzahl der Einträge im Index> + <Startposition der Indextabelle>); 
-while(<Die 12 (???Bytes an der Stelle pos sind 0>) { +while(!isMp3(<daten ab pos>&& !isScript(<daten ab pos>)) { 
- pos += 0x100;+ pos += 0x200;
 } }
 </code> </code>
Zeile 165: Zeile 175:
 } }
 </code> </code>
 +
dateiformat.1433888026.txt.gz · Zuletzt geändert: 11.08.2021 10:15 (Externe Bearbeitung)