¿Queee??? ¿Como EXTRAER Código de un Arduino?
ฝัง
- เผยแพร่เมื่อ 28 เม.ย. 2023
- PCBs de alta calidad: www.pcbway.com/
🔥Cómo extraer un código existente de un Arduino usando AVRDUDESS. Almacena el código en un archivo hexadecimal y luego podrás subirlo a cualquier otro Arduino. Tutorial completo para Flash, EEPROM y parte de fusibles.
🤝APOYO
-------------------------------------
Apúntate al curso de Arduino: bit.ly/2JY8icE
Ayudame en Patreon : / electronoobs
Haz cuenta en Electronoobs.io: electronoobs.io
Página de Facebook: / electronoobs
English channel: / @electronoobs
🔀ENLACES
-------------------------------------
Página tutorial: electronoobs.com/eng_arduino_...
Mis herramientas: electronoobs.com/eng_afiliate...
Camiseta ocupar marte: electronoobs-merch.creator-sp...
000:00 Introducción
01:47 El microcontrolador
02:40 Bloques AVR
04:07 Memoria Flash
05:44 Programador ISP
06:35 Los fusibles
08:21 Extraer Código y EEPROM
10:15 Volver a subir el código
12:14 Gracias
💕Me gusta, subscribir y compartir para ayudarme. Gracias!
#electrónica
#Arduino
#circuito - วิทยาศาสตร์และเทคโนโลยี
Curso Arduino NIVEL 2: bit.ly/2ZNWgqy
Ayuda mi canal en PATREON: www.patreon.com/ELECTRONOOBS
Hola que tal bro, muchas gracias por tu video. Me podrías dar un enlace para descargar el avr dude, es que en el que tengo no me aparece la opción Arduino
muy bien pero para los que van mas allá de lo básico existe la manera de evitar que roben tú código, el secreto está en los fusibles de programación, debes de dejar activados unos para que no se pueda bajar nada de la memora del micro a la computadora. Si tratas de leerlo no hay código en el archivo binario, es muy bueno para evitar que te roben el diseño. El Arduino por default no trae activados esos fusibles ya que la idea es que se pueda estar usando para prototipos pero ya para vender en producción es lo indicado. Saludos para todos.
Genial
se puede vender ?
@@j4vl3r obviamente que si, todo depende de tu proyecto y el acabado con su funcionalidad, yo hice una vez el reemplazo de una secadora industrial usando un atmega 328 en base a Arduino, hace 7 años y la máquina aún sigue trabajando.
Interesante como 1ra parte.
Haz un video donde esa salida en hexadecimal se transformar en codigo.
Muy buenos dias, solo quiero darte las gracias por ese excelente video, me ha servido muchísimo y toda la explicacion es muy clara. Saludos y muchisimas gracias.
Gracias me gustan las explicaciones y siempre e querido aprender a copiar códigos
Excelente explicación. Que sigan los éxitos!!!
MUY BUENOOOOO!!!! se agradece! hermoso tutorial, buena explicacion, saludos!
Excelente info. Muchas gracias 🎉🎉
excelente aporte, saludos desde Colombia, un abrazo
Buenísimo, no sabía que se podía hacer. Gracias
Muy buen video como siempre, sería genial qué expliques la programación de microchip en asembler, saludos desde México
Esto es oro ! 😅 saludos y gracias por la información!! 🫡🧉📚✌🏻
Muy interesante. No sabía que se podía hacer.
Se agradece todo la info que das, buen canal
Um tema interessante.um braço robótico, com aprendizado. Esse é o melhor, canal não tem igual !
Muchas gracias, gran aporte,!!
Hola, sigo y apoyo tus videos, muy clara la explicación, haz subido algún video de snmp en arduino? Sería muy interesante.
hola, que interesante, no sabía que se podía hacer eso. ¿Sabes si teniendo el archivo .hex se puede transformar a código de arduino IDE o si al menos se puede saber qué pinnes del arduino usa el archivo .hex?
Hola, muy buen video, saludos de Chile
Gran video, hago algunas aclaraciones por si alguien le sirve de ayuda, si le das a Erase flash and EEPROM, ten en cuenta que vas a borrar el bootloader, con lo cual si va a clonar el mismo arduino te funcionara, pero si vas a pasar el codigo de un atmega a otro diferente, no te va a funcionar porque los bootloader son diferentes, es mas no te funcionara ni pasando todo de un UNO a NANO. Y para los que queráis proteger el código para que nadie lo pueda leer, es FACIL , MODIFICAIS EL FUSE LB, SEGUN EL DATASHEET DE CADA ATMEGA Y LISTO. Saludos
Excelente tutorial, se podría usar algun desemsamblador? Si, seguro nos daría en código nemotécnico, pero ahí se podría trabajar en modificar el programa, eso equivale en saber trabajar en código máquina. Que en su tiempo atrás, se usaba para crackear a los programas.
Te lo avia comentado por Peatron este tema jejje Esta exelente.
Sería tan exelente y seria muy viral un video como te lo dije en Peatron. Utilizar el arduino como un extractor de archivos hex que pueda extraer de muchos micros, como los de Motorola, los de Panasonic, como el IRMCK343 Y cualquier otor micro, en otras palabras como el Programador RT809H que es chino
muy buena tu explicacion
Que buen aporte, para salir de lo común, se puede hacer lo mismo con otro tipo de micro??
Buenos dias esto se puede hacer con una arduino mega 2560? gracias de antemano
Hola una pregunta en el MPLAB ide clasico para programar los microcontroladores PIC existia la posibilidad de leer la memoria de programa de un PIC GRABADO o en BLANCO y obtener un CHEKSUM el cual era muy util para compararlo con otro firmware y saber que version de firmware posee subido en el pic(en el caso que hayamos olvidado la version del firmware que se le GRABO),pero en el IDE de arduino existe esa posibilidad o mediante el AVRdude?
excelente me encanto esa informacion
Muy buen video ,seria posible hacerlo con un esp32
Llevo esperando 2 años que subas un video como este por la poca documentación que ahi en ingles muchas gracias de hace tiempo que llevo investigando esto ahora solo falta una forma de proteger de ingeniería inversa
Tenes que activar los fusibles o fuse de programación. Ahi no te pueden sacar el hex como en el video. Saludos❤
Para proteger tu codigo ,modifica el fuse LB según el datasheet del atmega
Que buena info muchas gracias.!!.estuve mucho tiempo tratando de rescatar un código de mi placa....en las paginas web afirmaban que era imposible obtener un código de una placa.. Arduino..
Excelente video!!!
que buenoooo . me re salvastes porque tengo una fuente de alimentacion que perdi el codigo que le habia hecho y ahora con esto puedo modificarlo y tener una copia del que ya no puedo recuperar :) que gran info .
excelente laburo . un abrazo
Recuerda que solo puedes sacar el código pero no lo puedes modificar :/
@ sisi . Pero tener un backup funcional del proyecto . Es un golazo . Porque puedo volver a hacer el codigo tranquilo que si me falla igual tengo la posibilidad de volver al anterior :) muchisimas gracias
Gracias, me salvaste
Excelente video
Por fin encontré alguien que explica bien el proceso, intentaré hacer esto para poder reparar el código del robot otto, pues el último código que baje está roto… por alguna extraña razón este nuevo código del otto no me toma el punto neutral de los servos y por más que reviso el código no doy con el problema, tampoco funciona la calibración, pues los servos quedan en diferentes posiciones aleatorias y no quedan en la posición correcta, cosa que no sucedía en el anterior código del Otto, que por desgracia lo perdí por que un ransomware me encriptó todos los archivos en el disco y no los he podido recuperar, sin embargo tengo un robot Otto funcionando con el anterior código, y este es el que pienso sustraer y copiar en el otro robot Otto que estoy armando. En este caso usare arduino nanos para hacer esta operación
Aprendí bastante
Lo estuve esperando desde el capítulo anterior ❤❤❤
Buenas noches. Muchas gracias de antemano por compartir esta información. Dispongo de una tester de componentes con un atmega 328 pero esta en idioma cirilico. Me gustaría cargarle una actualización en español. Quiero guardar el programa por no sale bien la grabación poder tener el programa original. Tengo un arduino leonardo y otro arduino uno que jamás he usado. No veo donde está el enlace para bajar el avr dudess. Te agradezco algún comentario para realizar mi cometido. Saludos y gracias de antemano.
Entonces con la ayuda de ese programa también se pueden configurar los e fusibles del arduino esclavo ?
Saludos muy buen tema y yo quiero para el hexadecimal a el archivo .Ino se puede
Excelente video. Estaría padre que hicieras uno de tus proyectos con la placa seeeduino Xiao, una placa muy pequeña y tengo entendido que más poderoso que un Arduino nano (con la mitad de su tamaño) que comparas ambas placas para ver si mejoran tus proyectos
Tengo esa placa pero nunca he llegado a usarla :/
buen video saludos
Parabéns show 👏👏👏👏
Ola q tal te saluda desde Ecuador muy buen video y muy interesante mero me podrias ayudar con un video de como se conecta o como saco los codigos de un Arduino nano me ayudas x favor
Excelente !
hola, sirve para extraer el codigo de un "Transistor tester GM328" esos chinos?
Muy interesante
Ótimo vídeo.
hola, consulto, es posible pasar el hexagesimal a texto para poder analizar el codigo?
Buen día. Sirve para Arduino Leonardo?
WONDERFUL !!!
hola amigo saludos desde Colombia copie el código y realice las respectivas conexiones y no me funciona, que me sugieres
hola estuvo muy bueno el video dos preguntas?
1)_Como puedo proteger mi codigo en Arduino?
2)_Podrias subir un video de como se utilizar el modulo FTDI232, es que me compre uno, y no me subio el codigo al atmega328p con la configuracion comun, investigue y parece que hay que instalar un driver
Saludos desde Argentina
Si logras extraer el código, podrás modificarlo antes de cargarlo en otro microcontrolador usando una aplicación descompiladora que hay en la red. Son varias. Buscarle bien.
Buen dia Excelentes todos tus videos. Inclusive este está muy bueno y didáctico.
Felicitaciones!!!
Quería pedirte si Sos tan amable de hacer un tutorial de como usar los 4Mb de los ESP32 ya que por defecto me deja usar 1Mb.
A muchos youtubers les planteé la misma inquietud y nadie a respondido aún. Creo que Sos el único que podrías hacerlo.
Un gran abrazo desde Argentina.
Juan Carlos
Gracias
👏👏👏
interesaNTE !!!!!
Si yo tengo un código que utiliza una LCD y necesito modificar el código de la LCD, cómo puedo hacerlo, si no tengo el código cargado en el arduino?
Y si el código está asegurado? Osea, creo que hay forma de ponerle llaves o seguros para evitar que los copien.
Hay alguna forma de convertir el archivo hexadecimal a un archivo de código que pueda ser modificado???
es posible hacerlo con un esp32?
que peligroso saber que te pueden copiar un código. tal vez no será editable pero facilitará más entender su comportamiento accediendo a su formato hexadecimal. de todos modos. gracias por tremendo aporte
Hola, quiero agregar un certificado de seguridad o una contraseña de cifrado para enviar y recibir datos encriptados con esa clave, pero me preocupa que alguien pueda extraer el codigo y leer la clave de cifrado, como podria ofuscar u ocultar esa informacíon en el codigo? tienes alguna idea?
Amigo yo hice un programa con códigos G en un programa llamado GRBL que conecto con una placa de Arduino UNO atraves de la compu y lo Lee perfectamente.
Lo uso para mover motores paso a paso para un proyecto que estoy desarrollando ya que no se programar con lenguaje Arduino, pero me.gustaria transformar ese código G a Arduino y tenerlo en un archivo txt. Se podrá hacer ? Ayúdame. Estoy buscando una persona que me ayude con mi proyecto. Le pagaré.
Amigo tengo este problema con mi tarjeta de Arduino UNO.
avrdude: stk500_recv(): programmer is not responding
¿Podría solucionarlo con este método?
Perfecto el vídeo. Sublime
Excelente:D. Ahora podrías hacer un vídeo de como evitar que copien el código de tu arduino? . Para fines de derecho de autor
Justamente poniendo los fusibles de manera que eso ocurra. Luego me fijo y amplio. Pero seguramente querras el video. Esta por todos lados ademas.
Estrictamente necesario xD
Para evitar que tengan acceso al Codigo HEX de un Atmega 328 (arduino) tenes que configurar los fusibiles LOCKBIT con el valor D4, de esta manera ya no se puede leer el codigo.
Ahora los MCU traen encriptación por hardware como el ESP32, por lo que el programador puede aplicarlo, y al extraer el programa de la flash este estará encriptado y nada que se pueda hacer por ahora. A los amigos que quieran editar el código, hacer hacking o ingeniería inversa pueden usar el programa Ghidra para ver el código (con el gentil auspicio de la NSA[los gringos tienen que ver si el hardware de los ciudadanos espía XD ]).
Más información, me interesa fuentes confiable?
Muy bueno! dos preguntas: 1) se puede hacer lo mismo con un esp8266? 2) existe alguna manera de obtener código legible a partir del Hex?. Pregunto porque estuve trabajando por meses en un proyecto muy importante para mi, pero tuve la desgracia de perder mis códigos, que tenía almacenados en un ssd que se daño irreparablemente, y solo tengo un prototipo compilado y grabado en un esp8266... Fueron como 6 meses de trabajo invertidos en eso
Podses quitar la eeprom de la placa del ESP8266 y copiarla. No vas a tener el código fuente pero al menos podes reproducir ese programa.
@@cesarplaton8284 gracias. Pero todavía era prototipo, necesito seguir modificando el código
Cuando un video con una placa OrangePi ?
bien
hay forma de proteger el codigo?¿
Muy interesante. ¿Alguién sabe cómo recuperar para editar la librería subida en un módulo de Reconocimiento de Voz conectado a arduino vía Rx-Tx? El punto es cambiarle de comandos delos que ya tiene. Gentilmente Gracias.
Recuerdo a mi catedratico decirmos que uno de sus colegas sufrio una demanda por copiar hex de una eeprom de su empresa
Excelente🎉. Alguien conoce algún programa ensamblador para el ATmega 328p ? Es un Royo desensamblar a mano.
A que te refieres por ensamblar? Soldarlo?
@
Los ensambladores son programas que compilan desde él mnemonico al código máquina. Los desensambladores hacen lo contrario: desde el código máquina te dan el programa en lenguaje ensamblador. Por lo menos se puede leer 😋
interesante como siempre
Esto es posible para extraer codigo de un PIC? muy buen video.
Si, con un programador de PIC como el PICKIT3, siempre y cuando no este el micro portegido.
Ya peligran nuestros códigos 😬
Puedo copiar el código de un micro de una tarjeta de la adora para fabricar una nueva y poder insertar el mismo código ????? Me puedes apoyar. Porfavor
No se que es una tarjeda te adora :/
@ lavadora
jaja excelente que novedad.....
Me dieron ganas de usar el programa para formatear mi arduino qué me tira algunos problemas
Si puedes editar el código que extrajiste del Arduino, ahora que sepas como programar en binario es otra cosa
Cual seria el procedimiento para proteger el código y evitar que este sea copiado ?
Modificando el fuse LB según el datasheet del atmega
Excelente Hermano. Y no está muy lejos que ya con inteligencia artificial ya no tengamos que escribir el código.
Has utilizado Github copilot..??
Por ende se podría extraer la información de cualquier otro micro controlador.
Se puede poner seguridad en un arduino para que nadie saque el programa???
Si es open, libre, creo que pides mucho
Para evitar que tengan acceso al Codigo HEX de un Atmega 328 (arduino) tenes que configurar los fusibiles LOCKBIT con el valor D4, de esta manera ya no se puede leer el codigo.
@@zilog-z80 nunca escuche que esa info tendrias que hacer un tutorial para mostrar
Si el código está protegido por los fused no podrás extraer ningún código.
La inteligencia artificial CHAT GPT ¿No podría convertir el exadecimal a código? ¿Lo probaste?
Se puede hacer lo mismo con un rasberry pi pico?
en simple palabras, guardemos todos los codigo en varias lugares cosa de no perderlo. jajaja
Excelente comoarteme mas
Ya no he mirado la típica banana de tus vídeos
Eso se llama ingeniería inversa.
No, porque no descompilo el código. Solo hizo dumping de la memoria y lo paso a otro dispositivo. Si hubiese usado Ghidra u otro software similar, tenia mas acceso y verificar que hace el software.
Hexadecimal no es "básicamente ceros y unos"...
Binario son 0 y 1 (2 estados)
Decimal es de 0 a 9 (10 estados)
Hexadecimal es de 0 a 9 y de A a F, o sea, 16 estados, muchos más que los que solemos usar en decimal.
haz un tuto de este th-cam.com/video/5toNqaGsGYs/w-d-xo.html
Gracias, ha sido muy interesante. Pero no pu do dejar de decirte lo de los unos y ceros.... Decir que son unos y ceros (binario) en lugar de hexadecimal, sería como decir que hablas en Inglés...🤦
:0
En serio no has extraído nunca un código de un atmel y pasado a mplab el hex para poder leerlo.. o simplemente para modificar o eliminar una parte o valor... Peor en serio no se puede leer el código de la misma manera que lo programas...
Y si , ógico una cosa es el microcontrolador y otra la protoboard. Arduido es el programa de compilación que usas para programar y cargar librerías "por eso no me convencen"
Eso se puede hacer con el arduinoIDE clásico querido.
Por ejemplo en el 1.8.12, namas que vayas a "Programa -> Exportar binarios compilados", que además del hexadecimal te genera otro fichero más del programa descompilado.
th-cam.com/video/LLErbNB8r-A/w-d-xo.html
Creo que alguien no entendió el video. Jaja
A mi me parece útil el video, porque si no tenemos el código fuente, probablemente tampoco tenemos el Hexa. Acabo de seguir sus instrucciones y solo obtuve el binario. No obtuve en hexa. Como se carga ele binario en el Arduino?
Con este método podemos leer el hexa y copiarlo a otro Arduino.
@@CarlosTiger7000 así es.
Eso no es lo mismo. En ese video la persona tiene el código y genera el archivo hex. En caso de mi video, no tenemos el código y lo extraemos de un Arduino ya programado. Son cosas diferentes. Saludos :=)
@ Leñe, cierto!
😳
Debería incluir esa opción las versiones 2.x.x.x. del arduino IDE
Eso no es extraer el código. eso es extraer el archivo .hex. si el el fuses está protegido no se puede extraer el archivo hex.