-
Notifications
You must be signed in to change notification settings - Fork 60
Description
Hi there,
Thanks for the writeup; it's made for a very interesting read today.
I was wondering if anyone has attempted to reverse engineer any of the map data that comes with certain models.
Some context: I bought a 2018 Nissan Pulsar (Tekna trim) which comes with the following head unit:
The firmware version is D554 (accessing the service menu is slightly different - I followed this video).
Note the SD card slot on the top right. Mine came with a "V5" map data SD card, similar to the following:
The SD card contains a folder called "CRYPTNAV" which contains around 15,800 files, roughly 5.7GB in total. Most of the files are binary formats - some are known file types such as SQLite but most appear to be proprietary. Some plain text files exist such as XML, CFG, and TXT files.
Specifically I'm interested in decoding what I assume are icon/graphics files used by the navigation system. The files are contained within a folder called "3D_PICT". There appear to be four versions of each file. For example, the file name "JUG00378" appears as:
- JUG00378.phd
- JUG00378.phn
- JUG00378.pnd
- JUG00378.pnn
My first guess would be that the final "d" and "n" in the file extensions could stand for "day" and "night", i.e. a different colour depending on the display mode of the navigation system. Perhaps the "h" in .phd / .phn is "high [res]" as these always appear to be larger than the .pn* files.
Looking at the files in a hex editor quickly reveals they're using PNG format, however the chunk data appears to be partially compressed/encrypted.
For example, a typical PNG IHDR chunk contains the chunk length (13 bytes), chunk name (IHDR), chunk data (width, height, etc.), and CRC. In JUG00378.pnn, however, despite indicating the IHDR chunk is 13 bytes, only 10 bytes of data follows until the next chunk name is reached. There is also a custom file header before the PNG header which appears to contain encrypted/compressed data.
Apologies this is so rambly - just thought I'd share what I've observed so far and wondering if anyone has had any success in decoding any map data.

