LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Reverse Engineer a Checksum

Solved!
Go to solution
I'm not sure what there is to be cagey about -- especially since its old equipment that is out of production... In terms of the other issues, I have never seen a checsum with a seed value. I'm not even sure what the purpose would be as it wouldn't provide any added security benefit.

I wouldn't be too confident about your assumptions based on processing power. People figured out how to do all sorts of things by throwing ROM at a problem. Instead of calculating they simply looked stuff up.

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 11 of 24
(3,922 Views)

I'm being cagey because I'm trying to replace it under the noses of some large companies, using cRIO rather than custom electronics. It's at the stage of me being able to prove we can do it (demo in about a month). I don't want my potential competitors to know we are nosing around their cushy little world.

 

Today we managed to send a command and it was understood (obviously using a look-up rather than calculating), so that's a real bonus as we have only had the kit a day and it uses 9bit data on RS485 and that is one risk sorted.

 

Sadly we don't have any order coverage yet so we're having to do it free and amongst our other jobs.

 

If you're really interested Mike, pm me and I'll fill in some more details

Steve


Opportunity to learn from experienced developers / entrepeneurs (Fab,Joerg and Brian amongst them):
DSH Pragmatic Software Development Workshop


Random Ramblings Index
My Profile

0 Kudos
Message 12 of 24
(3,918 Views)

How big will your data packets be?  Could a brute-force Look-up table be an option?

0 Kudos
Message 13 of 24
(3,906 Views)

It may get us through the demo, but the actual working software has a configuration command that could be pretty much anything. Packet size varies from 2 bytes upto a maximum of about 20 I would think. The packet shown is waking up the 64 available channels.

Steve


Opportunity to learn from experienced developers / entrepeneurs (Fab,Joerg and Brian amongst them):
DSH Pragmatic Software Development Workshop


Random Ramblings Index
My Profile

0 Kudos
Message 14 of 24
(3,902 Views)

Looking over the problem again, a 32-bit LUT would probably be a bit overkill anyway.....

0 Kudos
Message 15 of 24
(3,888 Views)
Solution
Accepted by topic author swatts
Message 16 of 24
(3,851 Views)

Genius!

 

Now, how did you work this out?

0 Kudos
Message 17 of 24
(3,803 Views)

@jamiva wrote:

Try this.


I could have sworn I tried that combination of CRC parameters.  Maybe I just got distracted by some of the comments on Steve's front panel.

 

Well, there you go Steve.  It is a standard CCITT 16-bit CRC.



There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 18 of 24
(3,794 Views)

I found an online CRC calculator and tried three of the common CRC-16 algorithms and none of them came up with these values. Wiki lists seven common ones, and CCITT is one of the ones I didn't try! D'oh!

0 Kudos
Message 19 of 24
(3,788 Views)

I'm pretty sure I tried the standard CRC CCITT 16 (not that I really know what all this means!)

Is there a custom seed that is set that makes it non-standard? (the x1021 part?)

I'm still waiting on it to be converted to LV2013 before I can test it. So forgive me not yelling success!, Eureka! etc.

 

I really appreciate the input and owe all recipients at least a drink and probably a nice meal

Love Steve

Steve


Opportunity to learn from experienced developers / entrepeneurs (Fab,Joerg and Brian amongst them):
DSH Pragmatic Software Development Workshop


Random Ramblings Index
My Profile

0 Kudos
Message 20 of 24
(3,775 Views)