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 [11.06.2015 21:44]
martin [Padding]
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 X an, mit (X mod 0x200) == 0. Das Padding erfolgt mit beliebigen Zeichen (meist nullen).+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.1434059059.txt.gz · Zuletzt geändert: 11.08.2021 10:15 (Externe Bearbeitung)