Computer Interfacing
Discussions about interfacing and electronics

Need help with possible CRC16 reverse eng


       Computer Interfacing Forum Index -> Error detection and correction
Author Message

Apr 13, 2014 7:20 am

So I've been trying to figure out how to communicate with a device through a program I wrote rather than the file transfer program that came with it (my app runs on mobile devices). It's really annoying having to edit files and use their app to upload data back to this device.

Anyways, at the end of every packet transmission there's 2 hex values that appear to be a checksum? CRC16? something else? The stock software that came with the device requires a HASP key to unlock all the features, this wouldn't play a role in determining what these 2 values could be could it?

I have tried reveng, SRP16, and a crcbf perl script hoping one of them would be able to reverse engineer this but either I used these programs wrong or I'm wrong to begin with because none of them yielded any matches. To start, Reveng and SRP16 will scan through every possible CRC16 cause I'm pretty sure the software uses a custom crc since the disassembly has createCRC16Table functions.

Would anyone be able to assist me further? Here are some samples:
1053105010531002a000000001010210031b25 - $1b25
1053105010531002e035000001010210037a16 - $7a16
1053105010531002e041000001010210034e11 - $4e11
1053105010531002e044000001010210031b11 - $1b11

I also trimmed these thinking some values aren't part of the calculation and after looking at hundreds of uploads and downloads I'm fairly certain the calculated checksum is either from:
1002a00000000101021003 - $1b25
1002e03500000101021003 - $7a16
1002e04100000101021003 - $4e11
1002e04400000101021003 - $1b11
a0000000010102 - $1b25
e0350000010102 - $7a16
e0410000010102 - $4e11
e0440000010102 - $1b11

I realize this is a small sample to go from but would anyone be able to confirm it's a CRC16 value or would be able to give me other ideas of what these values may be?

Thanks in advance, I really appreciate any help on this!
New User

Joined: 13 Apr 2014
Posts: 4

Apr 13, 2014 5:59 pm

Who's an admin here?

I realized I wasn't logged in when I made this post and would like to either delete it or change owner so I can edit it. Found some mistakes and would like to expand on the data posted.
New User

Joined: 13 Apr 2014
Posts: 4

Apr 14, 2014 4:32 am

I actually saw a post from a couple years ago about someone trying to find a crc16 algorithm as well, someone mentioned that the hex bit 10 could be a placeholder of some sort, I removed those bits and everything checked out.

I found the correct algorithm.

       Computer Interfacing Forum Index -> Error detection and correction
Page 1 of 1

Running on php BB © 2001, 2009 php BB Group
   Lammert Bies     Interfacing     Sitemap     Forum