03-27-2015 04:58 AM
Hello All,
If anyone is feeling brainy I have a puzzle to solve (I can pay in beer and/or kudos)
We have a need to create a message like each row below, but need to recreate the checksum. This is emulating a piece of kit circa 1984 based on an 8031 chip. Here's what we know.....
The last 2 bytes are a checksum, I've tried various options (XOR, 2s Comp, CRC) with no success. My guess is that it will be a simple algorithm due to it's age and processing power. The first byte is the address and may or may not be included.
Any help or advice would be greatly appreciated, if you crack it I will love you forever!
Much Love
Steve Watts
Steve
Opportunity to learn from experienced developers / entrepeneurs (Fab,Joerg and Brian amongst them):
DSH Pragmatic Software Development Workshop
Solved! Go to Solution.
03-27-2015 06:04 AM
just to clarify each row is a line, with the last 2 bytes being the checksum. Thinking about it a bit more, I suspect it is an XOR with an initial seed value and perhaps I could reverse the operation and get the seed value back.
Steve
Opportunity to learn from experienced developers / entrepeneurs (Fab,Joerg and Brian amongst them):
DSH Pragmatic Software Development Workshop
03-27-2015 06:40 AM
I suggest that if you want people to be able to play with this, you should upload the data in a more friendly format.
Also, you might want to search for existing tools or methods. For instance, a quick search shows this - http://reveng.sourceforge.net/
03-27-2015 06:42 AM
You could also try Stack Overflow. Since this isn't specifically a LabVIEW question, you could draw on the experience of more people.
03-27-2015 07:00 AM
Any information on the CRC polynomial?
03-27-2015 07:04 AM
cheers tst,
I've looked there and it has a lot of useful info, reveng is my weekend project, it assumes a lot more knowledge than I currently have.
My hope is that it may be an area where someone has expertise before I spend weeks acquiring it.
Attached is a text file each message is bounded by [ ]
Steve
Opportunity to learn from experienced developers / entrepeneurs (Fab,Joerg and Brian amongst them):
DSH Pragmatic Software Development Workshop
03-27-2015 07:06 AM
My best guess is that is just a seeded XOR, it's really old! so maybe an Adler or Fletcher type.
But essentially it is just a 1980s vintage RS485 keypad and we are sniffing the RS485, it's 9bits data length as well which is interesting..
Steve
Opportunity to learn from experienced developers / entrepeneurs (Fab,Joerg and Brian amongst them):
DSH Pragmatic Software Development Workshop
03-27-2015 07:11 AM
03-27-2015 07:19 AM
It's commercial (sorry to be cagey but I can't give all the info), it's a distributed monitoring system from a fairly well known company.
They dont' support it any more and it's becoming difficult to find anyone to talk to.
My current approach has been to throw every algorithm I can find at it, but to no avail. My next idea is that I can imagine I'm the recieving unit and undo the checksum, this may then leave me with the seed. I'm guessing that they just compare the result agains the seed and if it's OK the packet is OK.
I'm outside my comfort zone here tho'
Steve
Opportunity to learn from experienced developers / entrepeneurs (Fab,Joerg and Brian amongst them):
DSH Pragmatic Software Development Workshop
03-27-2015 07:21 AM
Sorry crossrulz,
It's just data at the moment (I think date/capability of the kit probably eliminates some of the more complex checksum algorithms
Steve
Opportunity to learn from experienced developers / entrepeneurs (Fab,Joerg and Brian amongst them):
DSH Pragmatic Software Development Workshop