Mileage calculation algorithms

Ne0

Well-known member
VIP
Joined
Jul 10, 2022
Messages
666
Reaction score
411
Points
63
Here lets post about known mileage calculation algorithms for various car models

2015 Jeep Renegade 95320​

KM is on the first line 0x08-0x0B inverted, xor with FFFF on 0x0C-0x0F

10000 Km > hex 2710 inverted 10 27 00 00 xor EF D8 FF FF
0x00: xx xx xx xx xx xx xx xx 10 27 00 00 EF D8 FF FF

If dash in miles, convert to KM to calculate.
Haven't seen one over that yet, but over 65535 Km and 0x0a will increment and the crc will change.

Example 70,000 Km (43496 Miles)

0x00: xx xx xx xx xx xx xx xx 70 11 01 00 8F EE FE FF
 

**** Note that the offset changes from year to year! ****


100,000 Km

0040: xx xx xx xx 0a 19 00 e1 f5 05 0a 19 00 e1 f5 05 0050: 0a 19 00 e1 f5 05 0a 19 00 e1 f5 05 xx xx xx xx

Mileage inverted to decimal = Km X 1000
00 e1 f5 05 inverted = 05f5e100 = 100,000.000

First word is Xor of mileage words added.
00e1 + f505 = f5e6 Xor with ffff = 0a19

***If sum of words is 5 bits, add overflow to last bit***
Example: 150,000 Km 80d1 + f008 = 170d9 > 70da Xor with ffff = 8f25

Standard Denso algorithm with 49 single digits and mileage on line 0x60, see Denso algo above.

Do NOT end a new mileage string with anything other than 00 or 50 (FF or AF) or it won't count properly.

Engine hours @ 0x326-0x32f repeated 5 times, inverted xor to decimal.

Idle hours @ 0x33a-0x343 repeated 5 times, inverted xor to decimal.

Example: 1000 engine hours > hex = 03e8 xor fc17 inverted 17 fc

0320: xx xx xx xx xx xx 17 fc 17 fc 17 fc 17 fc 17 fc

Example: 100 idle hours > hex = 0064 xor ff9b inverted 9b ff

0330: xx xx xx xx xx xx xx xx xx xx 9b ff 9b ff 9b ff 0340: 9b ff 9b ff xx xx xx xx xx xx xx xx xx xx xx xx

Cheers

Edit: New super duty hours

44C to 45C Engine Hours 5 Instances with ff in between
460 to 470 Idle Hours 5 Instances with ff in between

0440: xx xx xx xx xx xx xx xx xx xx xx xx hh hh ff ff 0450: hh hh ff ff hh hh ff ff hh hh ff ff hh hh ff ff 0460: ii ii ff ff ii ii ff ff ii ii ff ff ii ii ff ff 0470" ii ii xx xx xx xx xx xx
 
Last edited by a moderator: