2010-06-03 10 views
6

Ho riscontrato un problema con un controller Micro PIC.Decompilatori esadecimali per PIC

Ho un microcontrollore programmato da me molto tempo fa e ho perso il codice sorgente pertinente e gli schemi schematici. Ora ho bisogno di invertire il valore di una porta. Posso farlo usando alcune porte NOT ma è una grande seccatura farlo. o in alternativa dovrò scrivere l'intero programma.

Non mi aspetto di vedere il codice in PIC C o MikroC. Avere un codice assembly comprensibile sarebbe sufficiente.

Così qualcuno ha qualche esperienza su un decompilatore HEX valido che posso usare per questo scopo? Qualche commento basato sulla tua esperienza? :)

EDIT: Dispositivo PIC 16F84A

risposta

6

È improbabile che la decompilazione sia una soluzione pratica ed è anche meno probabile che esista anche uno strumento per la combinazione specifica di compilatore e set di istruzioni.

Lo smontaggio tuttavia è semplice, anche se sarà possibile rilevare il codice risultante, poiché nessun commento o simbolo viene conservato nel file HEX; se si dispone del codice oggetto originale, potrebbe rendere più leggibile lo smontaggio. Ci sono molti disassemblatori PIC disponibili, solo Google; Non posso indirizzarti a uno specifico perché ci sono un certo numero di famiglie PIC con differenti set di istruzioni, e non hai specificato.

Un semplice approccio allo smontaggio consisterebbe nel caricare semplicemente il file HEX in MPLAB e selezionare Visualizza-> Elenco smontaggio, quindi fare clic con il pulsante destro del mouse sulla finestra e selezionare "Output su file". Questa uscita potrebbe richiedere un po 'di massaggio affinché sia ​​adatta per l'input a un assemblatore.

1

Si dovrebbe essere in grado di caricare il file hex nel MPLAB IDE e visualizzare il codice assembly da lì così come eseguirlo e il passaggio attraverso il codice nel simulater se non mi sbaglio

È anche possibile utilizzarlo per leggere il codice da un dispositivo se non è protetto da codice.

2

C'è un elenco di disassemblatori PIC al riferimento tecnico ufficiale PICList.

Molte persone non usano mai un disassemblatore autonomo, ma preferiscono usare il disassemblatore all'interno del loro simulatore PIC preferito.

http://piclist.com/techref/microchip/dissassemblers.htm

http://piclist.com/techref/microchip/simulators.htm

+0

Entrambi questi collegamenti sono morti. In realtà il sito sembra essere "vuoto" e in Thai – brewmanz

+0

@brewmanz: OK, ho risolto i link non funzionanti - i nuovi URL per lo stesso contenuto sembrano funzionare per me ora. –

Problemi correlati