2016-06-14 1 views
1

J'essaye de faire de l'ingénierie inverse d'une balance USB Bioweight. Je suis capable d'envoyer des commandes et d'obtenir des valeurs de retour via le port USB, mais les paquets de communication semblent être ajoutés avec un hachage de 2 octets ou une somme de contrôle ou un certain type de contrôle.Essayer de désosser une balance USB Bioweight Charge utile de 8 octets

Voici quelques exemples de paquets. Je connais la signification des 6 premiers octets mais les 2 derniers octets sont ce que je suppose juste vérifier.

enter image description here

spot Quelqu'un peut-il quel type d'algorithme de vérification est utilisé?

+0

Un seul octet est affiché sous la forme de deux chiffres hexadécimaux. Voulez-vous dire que vous connaissez la signification des 6 premiers octets mais que vous ne comprenez pas les deux derniers? –

+0

Oui, correct va changer la question –

Répondre

1

Il semble être un CRC-16 des octets 1 à 5 (c'est-à-dire tous les octets du message sauf le premier qui est 0xFF tout le temps). J'ai vérifié cela en entrant les octets "0x03 0x01 0x55 0xAA 0x55" dans un online CRC-16 calculator. D'ailleurs, chaque paquet de données USB a déjà un CRC-16 déjà ajouté. Je ne suis pas sûr de la façon dont vous avez obtenu ces données; Peut-être que vous voyez juste le CRC-16 qui est intégré dans la spécification USB.