How to decrypt MakerNote in Nikon NEF files: where is the mileage information hidden?
Engineering educational program: How to examine a NEF file under a microscope
When you open a regular `.NEF` image in the built-in viewer, the system sees the standard EXIF header (TIFF structure): date, shutter speed, aperture and camera model. But where is the data about the development of mechanics hidden?
The operating time data is hidden in a closed binary container **MakerNote**.
Where is the mileage tag physically located?
If we open the `.NEF` file in a hexadecimal HEX editor (for example, HxD), we will see a service header with the signature `Nikon\x00\x02`:
- Tag 0x00A7 (Shutter Count):This is a 4-byte integer in Little-Endian or Big-Endian format. This is where the EXPEED processor firmly enters the sequence number of each frame.
- Tag 0x001d (Serial Number):Hardwired encrypted serial number of the system board and case.
- Tag 0x00a8 (Flash Info):Counter of the number of flashes of the built-in or external slave flash.
Why do simple online services crash on NEF files?
Because depending on the generation of the EXPEED processor (EXPEED 1 in the D90 and EXPEED 7 in the Z9), Nikon changed offset of bit fields in the MakerNote structure.
Simple crooked scripts look for an offset at a fixed address and read garbage bytes, producing a “0” as a result. or the number "4,294,967,295". Our web service is based on a custom parser that correctly parses the byte structure any generations of Nikon!
Tag byte address table in MakerNote Nikon
| Tag ID (Hex) | Tag name | What is stored in bytes? |
|---|---|---|
| 0x00A7 | ShutterCount | Accurate shutter firing counter (4 bytes) |
| 0x001D | SerialNumber | Factory serial number of the carcass |
| 0x00A8 | FlashInfo | Pulsed light trigger statistics |
Don't want to dig through the HEX code manually?
Just drag and drop your .NEF or .JPG file onto our website - our algorithm will instantly pull out the data of tag 0x00A7!
Decrypt MakerNote Nikon online →