CRC's..Checksums.. Reverse Engineering!

Disassembly, Reassembly, Tools and devleopment. Going deep with Hardware and Software.
User avatar
antus
Site Admin
Posts: 8253
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: CRC's..Checksums.. Reverse Engineering!

Post by antus »

Tazzi wrote:What Yoda posted doesnt quite add up.. since I know the byte after the cvn does not be used in the checksum.. changing it does not seem to affect the checksums what so ever. They look like a starting point though!
I cant reproduce that. If I change the byte after the CVN (in this case, was 8B B8) from 00 to 01, then it looks like it actually disables the checksum for the segment and changes the checksum and thus cvn!!

In the pic here, both red boxes would read 8B B8 if this byte was not part of the sum.
Attachments
e38 segment sum.png
e38 segment sum.png (19.54 KiB) Viewed 8228 times
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
User avatar
Tazzi
Posts: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: CRC's..Checksums.. Reverse Engineering!

Post by Tazzi »

antus wrote: Its guesswork at this stage, but it seems likely. We still need a direction (forward or backwards)... probably forwards now we've layed it out more clearly... and an algo. Im hoping CRC16 or CRC16-CCITT. Once we can match the CS, we can use tazzi's algo above to calculate a CVN for it.
yeah Im trying to steer clear of focusing on one algo.. since I dont want to spend days on something thats completely off! Thats why Im running through all the possibilities at once. :thumbup:

Im betting on CRC16-CCITT as this is significantly affected by 00's and as found in testing, moving the bytes from 00 locations affect the overall result which occurs in the CRC16-CCITT algos (all of them I think).
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
Tazzi
Posts: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: CRC's..Checksums.. Reverse Engineering!

Post by Tazzi »

antus wrote:I cant reproduce that. If I change the byte after the CVN (in this case, was 8B B8) from 00 to 01, then it looks like it actually disables the checksum for the segment and changes the checksum and thus cvn!!

In the pic here, both red boxes would read 8B B8 if this byte was not part of the sum.
Disabled?.. I wonder if that applies to the actual bin? Or if the"disable" is actually an error, detected bad byte to process?
Doesnt work on these bins here, modifying the byte after makes nothing change
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
antus
Site Admin
Posts: 8253
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: CRC's..Checksums.. Reverse Engineering!

Post by antus »

It looks like applies to the segment, and is different to a checksum failure.
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
User avatar
Tazzi
Posts: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: CRC's..Checksums.. Reverse Engineering!

Post by Tazzi »

antus wrote:It looks like applies to the segment, and is different to a checksum failure.
Alright, well Iv actually gone with the assumptions we have made so far anways.. since technically thinking about it.. we cant add in the cvn into our calcs.. since it needs th checksum for it as seen from my calc. So im currently just processing the sections outlined earlier :thumbup:
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
Tazzi
Posts: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: CRC's..Checksums.. Reverse Engineering!

Post by Tazzi »

Forward iteration failed. Backwards is still on its way!
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
antus
Site Admin
Posts: 8253
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: CRC's..Checksums.. Reverse Engineering!

Post by antus »

Yep my process completed too. Checksum ID fail. :thumbdown:
Attachments
brute fail.png
brute fail.png (49.27 KiB) Viewed 8199 times
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
User avatar
Tazzi
Posts: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: CRC's..Checksums.. Reverse Engineering!

Post by Tazzi »

antus wrote:Yep my process completed too. Checksum ID fail. :thumbdown:
Im still running it backwards.
To add to the complexity.. I looked at a few different bins from a few other E38's.. looks like they move the calibrations around and checksum locations :thumbdown:
Id hope each dont have their own separate checksum calcs either!
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
antus
Site Admin
Posts: 8253
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: CRC's..Checksums.. Reverse Engineering!

Post by antus »

Yeah, you have to load the addresses from the index. That part of my code above works - it can locate the sums correctly in differing bins. I doubt the sums would be different to each other.
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
User avatar
Tazzi
Posts: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: CRC's..Checksums.. Reverse Engineering!

Post by Tazzi »

antus wrote:Yeah, you have to load the addresses from the index. That part of my code above works - it can locate the sums correctly in differing bins. I doubt the sums would be different to each other.
Index? So the checksums are just "shifted" up/down in the bins?
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
Post Reply