Login Login
MORE

WIDGETS

Widgets

Wanted articles
Who is online?
Article tools

Domotica Arduino Reverse engineering

From Aino Wiki

Jump to: navigation, search

Ottenere uno sketch dal microcontrollore

Ottenere la progrmmazione del microcontrollore, quindi da una scheda Arduino, ovvero ricavarne lo sketch in C++.
Sicuramente si può recuperare il compilato in formato binario .hex Allo scopo si posson usare dei tools come Avrdue (che comunque l'Arduino IDE usa internamente) per scaricare il file vinario che è nella flash memoru del controllore. Questo processo implica:

  • Hardware Hookup (collegamento all'hardware): connessione tramite un In-System Programmer (ISP), o un altro Arduino configurato come ISP, che punta ai pin destinazione della scheda ICSP.
  • Software Tools: usare un programma come AVRDUDESS (Hackster.io) o l'utility Avrdue da linea comando per leggere il contenuto della memoria flash e salvarla su un file del proprio computer.

L'estrazione del file .hex può, tra l'altro, essere uploadato su altre schede Arduino uguali, effettuando una copia del programma, ma non modificarlo.

Il file binario è una sequenza di instruzioni in codice machina instruzioni ottimizzate per uno specifico microcontrollore ATmega. Effettuare il reverse engineer per tornare al codice C++ comporta:

  • Disassemblaggio: usando tools come avr-objdump per convertire il codice macchina in linguaggio Assembler, che è umanamente leggibile ma veramente di basso livello quindi lontano dallo sketch originale in C++.
  • Manual Effort: Reconstructing the original logic, structure, and functionality from the assembly code is a painstaking and time-consuming manual process. The resulting code will look very different from the original sketch, lacking meaningful variable names, function names, and comments.

Conclusion
While the raw data running on the chip can be accessed, recovering the original, editable source code is practically impossible. It is highly recommended to use version control systems like GitHub or regular backups to protect your source code.

Etc

 

(Mappa e Link)


Tematiche avanzate | Arduino indice | Integrazioni tipiche | Arduino Progetti


C++ Info fondamentali | ESP32 indice | ESP8266 | Domotica | Dizionario Elettronica | Elettronica | Elettronica Appunti


Parole chiave:

Author