Go Down

Topic: Leer programa de un Atmega (Read 954 times) previous topic - next topic

enel9

Hola a todos, me gustaría saber si hay alguna forma de obtener el programa de un Atmega y cómo.
Saludos

carmeloco

Lo único que creo que se puede leer de un atmega, es el binario compilado, ya que el código escrito, no se graba en el chip, si no binario compilado (que normalmente, se guarda en un archivo en hexadecimal (.HEX)

enel9

Comprendo, y a partir del .hex no es posible obtener el código sin morir en el intento? Porque he visto que dicen en otros temas del foro que se puede sacar el ensamblador, pero sería horrible interpretarlo para sacar el código...
Gracias, un saludo

carmeloco

Me parece que te acabas de responder tú mismo...

enel9

jo, pues vaya, entonces no hay nada para pasar de ensamblador a C más que conocer ensamblador e interpretar línea a línea para pasarlo a C?

surbyte

Es muy complejo el programa? Porque con la idea un programador puede repetir la funcionalidad sin que te des cuenta.

Lo que buscas es hacer ingeniería inversa pero antes que nada deberías disponer de dicho archivo .hex porque si el atmega tiene quemado los fusibles no es posible leerlo.

enel9

Me gustaría saber cómo realizar la lectura del programa, ya que intentaré descifrar el código.
Para ello que necesitaría, un programador de Atmel... y qué programa necesitaría para leer el código grabado?


Saludos

surbyte

Porque no lo haces al revés? Mira el equipo que incluye el arduino.
Todo su hardware.
DOcumenta todo lo que hace, y haz tu el programa.
Eso es mas rápido que lo que tu quieres hacer a menos que, tenga protocolos especiales.

enel9

Veamos, es una placa que tiene un atmega y controla otra placa con un módulo GSM y un módulo GPS y una sonda de temperatura y manda periódicamente datos a través de GSM con la ubicación y la temperatura. Eso es lo que hace, pero no sé exactamente cómo, ya que los módulos GPS y GSM están en una tarjeta externa y el atmel tiene varias conexiones a puntos de esa tarjeta y me gustaría saber para qué son y que  hace con las salidas que tiene conectadas a la otra placa. Por eso es por lo que me gustaría obtener el programa. Lo ves factible?

surbyte

#9
Feb 02, 2015, 09:47 pm Last Edit: Feb 02, 2015, 10:00 pm by surbyte
Bueno, es facilmente reproducible salvo por el sitio al que manda la información.
Si es un sitio web o no lo es.
Si solo te envia un SMS por decir algo, es mas facil aun.

De todas formas no dices nada que no se pueda hacer sin entrar en la locura que no tienes idea del trabajo de locos en el que te metes para entender un código assembler.
Si a veces no pedes entender el C de otra persona que no esta comentado.
SI yo te doy un C para arduino en RUSO, tu dime si lo entiendes... quieres hacer la prueba?
Imagina en assembler, a menos que seas gurú de assembler.

Lo que quieres hacer es un tracker con indicación de temperatura?

Un tracker para arduino. GPS+GPRS/GSM.
Bueno hay que buscar otro ejemplo pero esta bastante bueno en cuanto a la información general.
El código no esta.

enel9

La idea es que los datos del gps se representen en un mapa(tipo google maps) y la temperatura se mande a una web. Por lo que había pensado en mandar toda la información a una pagina web para no petar el móvil con sms y así poder ver la trayectoria que ha seguido como se ve en el enlace que me has pasado.

surbyte

Todo eso que dices es mas facil de hacer que intentar la ingeniería inversa (que es lo que tu propones hacer)

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy