auto:w177:navidaten:re

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
<?xml version="1.0" encoding="UTF-8"?>
<ChecksumStoreFile>
    <FileList>
        <SignedFile checksum="6e2f43454b9fd4ac6ec9018e26fcbdcbc0e0a947c2cce8c94fc8c088706e7e88">3f_00000002_00001120_30_00000000_00000023.par</SignedFile>
    </FileList>
</ChecksumStoreFile>
  • Die .par Datei enthält Metadaten über die Updatedaten. Die .par für Regions ID 1120 referenziert alle existierenden Updatedateien:
<?xml version="1.0" encoding="UTF-8"?>
<updatePackageMeta
    xmlns="http://daimler.com/mrm/MDUS_parameter_file-v5.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://daimler.com/mrm/MDUS_parameter_file-v5.xsd MDUS_parameter_file-v5.xsd"
>
    <fileType>
        48 <!--0x30 coded as xsd:unsignedByte (see schema) -->
    </fileType>
    <prodCompatibilityTableVersion>
        2<!-- Coded as xsd:unsignedByte (see schema) -->
    </prodCompatibilityTableVersion>
    <prodMarketVersion>
        2
    </prodMarketVersion>
    <prodCompatibilityId>
        63
    </prodCompatibilityId>
    <product>
        <updateRegion>
            <regId>
                4384<!-- 0x1120 -->
            </regId>
            <regIdAll>
                4384<!-- 0x1120 -->
            </regIdAll>
            <regVersion>
                35
            </regVersion>
            <regVersionToUpdate>
                0
            </regVersionToUpdate>
            <regLeadNtg>
                2
            </regLeadNtg>
            <regHmiTeaserMultilingual>
                <!-- different languages, hence XML structure."
           Coded as UTF-8 per xml header (encoding="UTF-8")
           The English text is the first element -->
                <text lang="eng-GB">2018 (V8.0) ECE Add. data</text>
                <text lang="deu-DE">2018 (V8.0) ECE Add. data</text>
            </regHmiTeaserMultilingual>
            <regHmiDetails>
            </regHmiDetails>
            <regHmiNameMultilingual>
                <!-- different languages, hence XML structure."
           Coded as UTF-8 per xml header (encoding="UTF-8")
           The English text is the first element -->
                <text lang="eng-GB">EUROPE</text>
                <text lang="deu-DE">EUROPE</text>
      </regHmiNameMultilingual>
            <regCensoringNr>
            </regCensoringNr>
            <regIsbn>
            </regIsbn>
        </updateRegion>
    </product>
    <files>
        <file description="E_COMMON_Data"> <!-- Mega-MDUS with Base Folder Structure, Global Files, DTM, SAT, WLD -->
              3f_00000002_00001121_40_00000000_00000023.updatedata
        </file>
        <file description="E_MB-POI">
              3f_00000002_00001123_80_00000000_20180801.updatedata
        </file>
        <file description="E1">
              3f_00000002_00001125_20_00000000_00000023.updatedata
        </file>
        <file description="E2">
              3f_00000002_00001126_20_00000000_00000023.updatedata
        </file>
        <file description="E3">
              3f_00000002_00001127_20_00000000_00000023.updatedata
        </file>
        <file description="E4">
              3f_00000002_00001128_20_00000000_00000023.updatedata
        </file>
        <file description="E5">
              3f_00000002_00001129_20_00000000_00000023.updatedata
        </file>
        <file description="E6">
              3f_00000002_0000112A_20_00000000_00000023.updatedata
        </file>
        <file description="E7">
              3f_00000002_0000112B_20_00000000_00000023.updatedata
        </file>
        <file description="E8">
              3f_00000002_0000112C_20_00000000_00000023.updatedata
        </file>
        <file description="E9">
              3f_00000002_0000112D_20_00000000_00000023.updatedata
        </file>
        <file description="EA">
              3f_00000002_0000112E_20_00000000_00000023.updatedata
        </file>
        <file description="EB">
              3f_00000002_0000112F_20_00000000_00000023.updatedata
        </file>
        <file description="EC">
              3f_00000002_00001130_20_00000000_00000023.updatedata
        </file>
        <file description="ED">
              3f_00000002_00001131_20_00000000_00000023.updatedata
        </file>
        <file description="EE">
              3f_00000002_00001132_20_00000000_00000023.updatedata
        </file>
        <file description="EF">
              3f_00000002_00001133_20_00000000_00000023.updatedata
        </file>
        <file description="E1 SDS">
              3f_00000002_00001325_90_00000000_00000023.updatedata
        </file>
        <file description="E2 SDS">
              3f_00000002_00001326_90_00000000_00000023.updatedata
        </file>
        <file description="E3 SDS">
              3f_00000002_00001327_90_00000000_00000023.updatedata
        </file>
        <file description="E4 SDS">
              3f_00000002_00001328_90_00000000_00000023.updatedata
        </file>
        <file description="E5 SDS">
              3f_00000002_00001329_90_00000000_00000023.updatedata
        </file>
        <file description="E6 SDS">
              3f_00000002_0000132A_90_00000000_00000023.updatedata
        </file>
        <file description="E7 SDS">
              3f_00000002_0000132B_90_00000000_00000023.updatedata
        </file>
        <file description="E8 SDS">
              3f_00000002_0000132C_90_00000000_00000023.updatedata
        </file>
        <file description="E9 SDS">
              3f_00000002_0000132D_90_00000000_00000023.updatedata
        </file>
        <file description="EA SDS">
              3f_00000002_0000132E_90_00000000_00000023.updatedata
        </file>
        <file description="EB SDS">
              3f_00000002_0000132F_90_00000000_00000023.updatedata
        </file>
        <file description="EC SDS">
              3f_00000002_00001330_90_00000000_00000023.updatedata
        </file>
        <file description="ED SDS">
              3f_00000002_00001331_90_00000000_00000023.updatedata
        </file>
        <file description="EE SDS">
              3f_00000002_00001332_90_00000000_00000023.updatedata
        </file>
        <file description="EF SDS">
              3f_00000002_00001333_90_00000000_00000023.updatedata
        </file>
        <file description="Maintenance">
              3f_00000002_00001124_70_00000000_00000023.updatedata
        </file>
  </files>
</updatePackageMeta>
  • 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)
  • auto/w177/navidaten/re.txt
  • Last modified: 2019-04-13 17:22
  • by weichbr