Servizio di decompilazione firmware

Decompilazione firmware professionale basata sull'ingegneria inversa MCU. Convertiamo il codice assembly grezzo estratto dai microcontrollori in codice sorgente di alto livello leggibile e modificabile per debug, modifiche e analisi tecniche.

Informazioni sul servizio di decompilazione firmware

La decompilazione firmware è un servizio tecnico di follow-up dopo un'ingegneria inversa del microcontrollore andata a buon fine. Quando completiamo il lavoro di ingegneria inversa MCU, possiamo dumpare il firmware binario all'interno del chip e disassemblarlo in pure istruzioni assembly. Il codice assembly grezzo è difficile da leggere, modificare o riutilizzare direttamente per la maggior parte degli ingegneri. Il nostro servizio di decompilazione traduce queste istruzioni assembly di basso livello in codice sorgente strutturato e modificabile. Il codice sorgente consegnato consente ai clienti di revisionare la logica del firmware, regolare i parametri, correggere i bug, portare le funzioni e svolgere lo sviluppo secondario. Questo servizio è ampiamente utilizzato per la manutenzione di hardware legacy, la riparazione di apparecchiature fuori produzione, l'audit di sicurezza hardware e la ricerca tecnica embedded.

Cosa include il nostro servizio

  • Estrazione del firmware binario grezzo dall'MCU di destinazione
  • Disassemblaggio completo per generare il codice assembly completo
  • Decompilazione del codice assembly in codice sorgente leggibile in stile C
  • Etichettatura delle funzioni chiave, degli handler di interrupt e degli indirizzi di memoria
  • Consegna di file sorgente modificabili pronti per la revisione del cliente
  • Note di base per i moduli firmware critici

Note importanti sul servizio

  • Il codice sorgente decompilato non sarà identico al 100% al codice sorgente originale dello sviluppatore
  • Alcune routine di libreria e codice ottimizzato potrebbero mantenere frammenti assembly parziali
  • Forniamo l'output decompilato; il cliente è responsabile della compilazione e della verifica funzionale
  • Il firmware complesso offuscato aumenterà la difficoltà di decompilazione e i tempi di consegna
  • Il cliente deve confermare l'autorizzazione legale per il microcontrollore di destinazione prima dell'inizio del progetto

Il nostro flusso di lavoro standard

01

Ingegneria inversa MCU

Sbloccare e leggere i dati binari del firmware dal chip del microcontrollore di destinazione.

02

Disassemblaggio assembly

Convertire il firmware binario in un set completo di istruzioni assembly per l'analisi.

03

Decompilazione firmware

Elaborare il codice assembly e ricostruire file di codice sorgente di alto livello modificabili.

04

Consegna del progetto

Consegna del pacchetto di codice sorgente; il cliente esegue la compilazione e la validazione delle funzioni.

Domande frequenti

Il codice sorgente decompilato può essere compilato direttamente?

Nella maggior parte dei casi è richiesto un aggiustamento manuale parziale. Il codice decompilato ripristina la logica, ma gli header del compilatore e le configurazioni delle periferiche del chip potrebbero richiedere un'ottimizzazione ingegneristica da parte del cliente.

Quali tipi di chip supportate per la decompilazione?

Supportiamo la maggior parte dei microcontrollori mainstream a 8 e 32 bit dopo un'ingegneria inversa riuscita, inclusi le serie STM, GD, Atmel e altri MCU embedded comuni.

Quali deliverable riceverò?

Riceverai il file binario del firmware, l'elenco assembly completo, il codice sorgente decompilato modificabile e le note di commento necessarie.