====== Reverse Engineering der Update Daten ======
* ''.updatedata'' Dateien sind normale ''.zip'' Archive:
% file 3f_00000002_00001120_30_00000000_00000023.updatedata
3f_00000002_00001120_30_00000000_00000023.updatedata: Zip archive data, at least v1.0 to extract
% unzip -l 3f_00000002_00001120_30_00000000_00000023.updatedata
Archive: 3f_00000002_00001120_30_00000000_00000023.updatedata
Length Date Time Name
--------- ---------- ----- ----
256 2018-09-27 12:56 3f_00000002_00001120_30_00000000_00000023
5990 2018-09-27 12:56 3f_00000002_00001120_30_00000000_00000023.par
266 2018-09-27 12:56 3f_00000002_00001120_30_00000000_00000023.xml
--------- -------
6512 3 files
* Jede ''.updatedata'' enthält drei Dateien die exakt so heißen wie die ursprüngliche Updatedatei, einmal ohne Endung, einmal mit ''.xml'' und einmal mit ''.par''. Die ''.par'' ist auch eine XML Datei:
% file 3f_00000002_00001120_30_00000000_00000023.xml
3f_00000002_00001120_30_00000000_00000023.xml: XML 1.0 document, ASCII text
% file 3f_00000002_00001120_30_00000000_00000023.par
3f_00000002_00001120_30_00000000_00000023.par: XML 1.0 document, ASCII text
% file 3f_00000002_00001120_30_00000000_00000023
3f_00000002_00001120_30_00000000_00000023: data
* Die ''.xml'' enthält die SHA256 Checksummen aller im Archiv enthaltenen Dateien exklusive der einen Datei ohne Endung und sich selbst:
% cat 3f_00000002_00001120_30_00000000_00000023.xml
3f_00000002_00001120_30_00000000_00000023.par
* Die ''.par'' Datei enthält Metadaten über die Updatedaten. Die ''.par'' für Regions ID ''1120'' referenziert alle existierenden Updatedateien:
48
2
2
63
4384
4384
35
0
2
2018 (V8.0) ECE Add. data
2018 (V8.0) ECE Add. data
EUROPE
EUROPE
3f_00000002_00001121_40_00000000_00000023.updatedata
3f_00000002_00001123_80_00000000_20180801.updatedata
3f_00000002_00001125_20_00000000_00000023.updatedata
3f_00000002_00001126_20_00000000_00000023.updatedata
3f_00000002_00001127_20_00000000_00000023.updatedata
3f_00000002_00001128_20_00000000_00000023.updatedata
3f_00000002_00001129_20_00000000_00000023.updatedata
3f_00000002_0000112A_20_00000000_00000023.updatedata
3f_00000002_0000112B_20_00000000_00000023.updatedata
3f_00000002_0000112C_20_00000000_00000023.updatedata
3f_00000002_0000112D_20_00000000_00000023.updatedata
3f_00000002_0000112E_20_00000000_00000023.updatedata
3f_00000002_0000112F_20_00000000_00000023.updatedata
3f_00000002_00001130_20_00000000_00000023.updatedata
3f_00000002_00001131_20_00000000_00000023.updatedata
3f_00000002_00001132_20_00000000_00000023.updatedata
3f_00000002_00001133_20_00000000_00000023.updatedata
3f_00000002_00001325_90_00000000_00000023.updatedata
3f_00000002_00001326_90_00000000_00000023.updatedata
3f_00000002_00001327_90_00000000_00000023.updatedata
3f_00000002_00001328_90_00000000_00000023.updatedata
3f_00000002_00001329_90_00000000_00000023.updatedata
3f_00000002_0000132A_90_00000000_00000023.updatedata
3f_00000002_0000132B_90_00000000_00000023.updatedata
3f_00000002_0000132C_90_00000000_00000023.updatedata
3f_00000002_0000132D_90_00000000_00000023.updatedata
3f_00000002_0000132E_90_00000000_00000023.updatedata
3f_00000002_0000132F_90_00000000_00000023.updatedata
3f_00000002_00001330_90_00000000_00000023.updatedata
3f_00000002_00001331_90_00000000_00000023.updatedata
3f_00000002_00001332_90_00000000_00000023.updatedata
3f_00000002_00001333_90_00000000_00000023.updatedata
3f_00000002_00001124_70_00000000_00000023.updatedata
* Die referenzierten XML Schemata sind nicht öffentlich abrufbar.
* Die Updatedaten für Region ''1123'' und ''1124'' enthalten ''.patch'' Dateien welche mit der Stringmagic ''NDSPatch'' anfangen:
% file Maintenance.patch
Maintenance.patch: data
% xxd Maintenance.patch
00000000: 4e44 5350 6174 6368 0500 0000 0000 0000 NDSPatch........
* Die Updatedaten für die Karten (z.B. ''1128_30'' für Deutschland) enthalten auch ''.patch'' Dateien mit der gleichen Stringmagic. Jede Region enhält eine ''.patch'' Datei.
* Die Updatedaten für die Sprache (z.B. ''1328_90'' für Deutschland) enthalten sehr viele Dateien, hauptsächlich ''.fcf'' aber auch wieder eine ''.patch'' sowie SQLite Datenbanken (''.sqlite'')
*