Paso 6: Ingeniería inversa: buceo en los datos
El control remoto tiene un pequeño botón en la tapa de la batería. Si se presiona este botón, tengo que volver a asociar todos los receptores con el mando a distancia. Si mando a distancia de su vecino está interfiriendo con sus luces Presione este botón para obtener un ID aleatorio nuevo. Sospecho que pulsar este botón crea algún tipo de código aleatorio específico para ese remoto.
Si eso es cierto, puedo utilizarlo para identificar al menos algunas partes de los datos.
Empecé otra vez el analizador lógico e impulsó ON lámpara uno 5 veces mientras presiona el botón de reset entre cada vez que apreto lámpara 1.
Para que sea más fácil ver lo que estaba sucediendo, copiar pega los marcos de datos en gimp y colocado debajo de uno al otro. En el analizador lógico se representan al lado, que hace comparación muy difícil.
Por suerte, los chicos de Saleae habían pensado en esto. Ctrl + Mayús + m permite copiar una selección de la pantalla al portapapeles.
Como sospechaba, presionar el botón reset cambiado un número aleatorio dentro de la distancia que se transmite con cada marco de datos.
El primer bit es siempre la misma. Esto tiene sentido. Probablemente "despierta" los receptores o dice que "bueno, aquí viene datos, prepárate!
Los 12 bits consecutivos cambian cada vez Pulse el botón reset. Marqué los bits que cambiaron en rojo y los bits constante en verde.
Permite llamar los 12 bits al azar la dirección de red de ahora en adelante.
Parece que los datos de carga útil por cada marco están 8 bits.
Otra gran cosa acerca de hacer este hack la manera fresca en lugar de simplemente soldar los cables a los botones, es que usted puede utilizar el campo aleatorio de 12 bits así. Puede tener 4 luces de identificador de una red y otros 4 en otro ID de red y controlarlas desde la misma distancia! En realidad, usted puede controlar (2 ^ 12) * 4 = 16384 lámparas con este hack!