Ayuda a la ingeniería inversa a CRC-8 [cerrado]

3

Tengo un sistema de monitoreo de la temperatura del hogar basado en arduino que utiliza termohigrómetros inalámbricos Ambient Weather F007th como sensores. Estoy intentando elaborar el CRC y agregar un código a mi proyecto para reducir la cantidad de lecturas erróneas.

Tengo miles de lecturas de muestra y a partir de ellas se han construido dos conjuntos de datos de muestra con una diferencia de 1 bit. El último byte es el CRC.

    • FD 45 77 14 80 31 A5
    • FD 45 77 14 81 31 E6
    • FD 45 77 14 82 31 23
    • FD 45 77 14 84 31 98
    • FD 45 77 14 88 31 DF
    • FD 45 7B 44 80 30 FD
    • FD 45 7B 44 81 30 BE
    • FD 45 7B 44 82 30 7B
    • FD 45 7B 44 84 30 C0
    • FD 45 7B 44 88 30 87

Siguiendo los consejos de otros sitios, he identificado que el XOR del primer CRC contra el siguiente CRC produce la misma secuencia para ambos conjuntos.

    • A5 ^ E6 = 43
    • A5 ^ 23 = 86
    • A5 ^ 98 = 3D
    • A5 ^ DF = 7A
    • FD ^ BE = 43
    • FD ^ 7B = 86
    • FD ^ C0 = 3D
    • FD ^ 87 = 7A

También he establecido que esta secuencia representa las líneas 14 a 17 del 0x31 CRC-8.

Pero ahora estoy atascado. No puedo replicar los resultados de CRC con otros datos.

Apreciaría cualquier idea. Tengo miles de puntos de datos si alguien quiere más

    
pregunta Andrew McAnerney

0 respuestas

Lea otras preguntas en las etiquetas