How to Clone a Car Key

Descripción

Este tutorial tiene únicamente fines educativos y de investigación.

Recientemente un amigo me comento que existian unas antenas para ver la televisión en el ordenador (R820T2) que no solamente pueden captar la frecuencia en la que se emite la televisión sino que con el software apropiado puedes escuchar en muchas otras frecuencias, como en este caso la frecuencia en la que trabajan las llaves de los coches.

Dicho esto me puse a investigar y me hice con una de estas antenas que cuestan entorno a los 8$.

Antena R820T2: Link de compra

Para poder emitir la señal capturada de la llave del coche voy a usar un Arduino Uno y un emisor de radiofrecuencia de 433MHz.

Arduino Uno: Link de compra

Emisor de radiofrecuencia: Link de compra

Para comenzar tenemos que instalar el software que nos permita usar la antena para capturar la llave del coche.
Abrimos un terminal y ejecutamos “sudo apt-get install gqrx” para instalar GQRX que nos permitirá ver el espectro y detectar en que frecuencia exacta emite la llave de nuestro coche.

Conectamos la antena y abrimos el GQRX y seleccionamos la frecuencia 433MHz que suele ser la frecuencia de trabajo de las llaves de los coches. (La mia es 433,92).
Podremos ver que cuando la llave es pulsada aparece la onda emitida.

Una vez que hemos comprobado que en la frecuencia 433 es donde trabaja nuestra llave tenemos que capturar el mensaje que emite la llave para abrir/cerrar el coche.
Para poder capturar el mensaje necesitamos el software rtl_433 que podemos encontrar en el siguiente repositorio de GitHub: rtl_433

Una vez instalado rtl_433 según se indica en el repositorio, vamos a capturar la señal, para ello ejecutamos en un terminal:

rtl_fm -M am -f 433920000 -s 2000000 - | sox -t raw -r 2000000 -e signed-integer -b 16 -c 1 -V1 - sound.wav 
        

En el que 433920000 corresponde a la frecuencia en la que la llave emite y sound.wav es el nombre del archivo de audio donde se guardará la señal.
Ejecutamos el comando y pulsamos unas cuantas veces el algun botón de la llave y cuando queramos crear el archivo de audio cancelamos la ejecución del programa con Ctrl + C.

Una vez tengamos el archivo .wav, tenemos que descargar Audacity, que es un software para edicion de sonido que nos permitirá hacer ingeniería inversa a la onda creado por la llave.

Abrimos el .wav con el Audacity y veremos algo como lo siguiente:

En mi caso se ven tres zonas que destacan del resto, esto correspone a las tres veces que he pulsado el botón de abrir mienstras estaba grabando con rtl_433.
Si recortamos una de ellas y hacemos zoom podemos ver lo siguiente:

En mi caso se ve un patrón que se repite 6 veces. Ese patrón corresponde con el codigo de abrir el coche y es el que tendremos que luego emitir.
Si recortamos la parte que se repite y hacemos zoom obtenemos lo siguiente:

Ahora lo que tenemos que hacer es ingeniería inversa a ese fragmento de onda y para ello hacemos zoom y podremos ver que se diferencian unas partes más altas de unas más bajas. Esas partes altas corresponden con los 1 y las partes bajas con los 0. Es importante destacar que la duracion de los 1 y los 0 es la misma y que eso nos servirá por ejemplo si encontramos una zona que es baja durante mucho tiempo saber cuantos 0 corresponden, al igual si es una parte alta.
En la siguiente imagen se ve claramente lo que es un 1 y lo que es un 0:

En la imagen anterior también se indica como calcular la duración de un 0/1 de nuestro fragmento.
Ahora tenemos que usar el arduino y el emisor.

Programa Arduino: Arduino

Abrimos el codigo anterior y sustituimos el array “code” por los valores que hayamos extraido de nuestra onda y colocamos el numero de valores. De la misma forma modificamos la macros “tiempo” y cambiamos el numero por el tiempo de duracion de un 1/0 en nuestra onda.
Ahora solo tenemos que cargarlo en el Arduino y conectar el pin de GND del emisor al pin GND del Arduino, el pin VCC del emisor a 3,3 V y el pin ATAD del emisor al pin 9 del Arduino. (Los valores que hay en el bucle son los que funcionan con el coche que he hecho las pruebas Dacia Snadero)

El resultado es el siguiente:

Como he dicho al principio este documento solamente tiene la intención de mostrar una investigación que he hecho sobre como clonar la llave de un coche y solamente ser usado en vehiculos con autorización de su dueño.
No me hago responsable del mal uso que se le de a esta información.

Espero que os haya gustado y si quereis mas tutoriales de este tipo mandadme algun mensaje por Twitter o YouTube