Si es la PC quien desencripta el .hex y lo envia al PIC entonces podes ponerte en el medio de la comunicacion y captar todos los datos enviados, es decir el programa
¿Podrías explicarme más sobre esto?.
Muchas gracias!!
En el firmware que utilizamos en nuestros productos, el archivo hexadecimal (que es una archivo de texto), lo encriptamos de 3 maneras diferentes y al final es un archivo con otra extensión.
Si tu abres con un blog de notas el archivo nuevo, verás que literalmente está en chino escrito todo.
Este es el archivo que distribuimos al usuario del hardware, es decir las actualizaciones, para que el mismo reprograme la memoria flash
La única manera para regresar al hexadecimal original es mediante el código desencriptado y conociendo las llaves que lo permiten.
El software que utiliza el usuario para actualizar el firmware de sus equipos posee la llave y cuando abre el archivo encriptado, obtienen el archivo hexadecimal original, pero este está en memoria RAM, no lo guardan en algún disco del PC.
Cuando empiezas a enviar el código al microcontrolador para que reprogramar su memoria (vía USB, UART, Ethernet, etc.) podrías colgarte a ese bus mediante un
sniffer y ver que está enviando el software al hardware y obtener tu archivo hexadecimal.
Pero nosotros tenemos un nivel extra se protección, y al transmitir y recibir datos en la comunicación ethernet ,también existe encriptación para evitar lo anterior, es decir evitar que mediante un
sniffer se puede obtener los datos enviados y recibidos.