logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ATmega 8A - Jak odczytać plik .hex wyciągnięty z kontrolera

fidor111 28 Cze 2015 00:57 4668 5
REKLAMA
  • #1 14808246
    fidor111
    Poziom 12  
    Witam!

    Mam dość praktyczny problem - mam zaprogramowany kontroler i chciałbym odzyskać z niego kod, tak bym mógł nanieść na niego kilka poprawek

    Pierwotny plik projektu, jak i kod w c przepadły wraz z formatem komputera, jedyne co zostało to plik .hex odzyskany z kontrolera

    Czy istnieje jakaś stosunkowo bezbolesna metoda żeby ten plik odczytać?
    Na internecie nie mogę znaleźć recepty na to
  • REKLAMA
  • Pomocny post
    #2 14808274
    kamyczek
    Poziom 38  
    Czytasz tak samo jak programujesz o ile nie ustawiłeś bitów zabezpieczeń . Jeśli jednak zrobiłeś to mikrokontroler nie skasuje się a jedynie odczyta śmieci typu 00 01 02 , itd.
    Odczytanie zabezpieczonego mikrokontrolera nie jest raczej w "zasięgu finansowym amatora "
    Generalnie za mniejszą kasę znajdziesz kogoś kto napisze program pod dyktando niż odczytasz zabezpieczony mikrokontroler.
  • REKLAMA
  • Pomocny post
    #3 14808362
    yokoon
    Poziom 29  
    Witam.
    Jeżeli mikrokontroler nie był zabezpieczony to można plik .hex odczytać z mikrokontrolera. Taki plik można pobrać np. PonyProgiem i co zobaczymy?
    Zobaczymy same cyfry (bajty) które nam ludziom nic nie mówią.
    Oczywiście te bajty można edytować ale trzeba wiedzieć, który za co odpowiada.
  • REKLAMA
  • Pomocny post
    #4 14808420
    greg789
    Poziom 16  
    fidor111 napisał:


    Pierwotny plik projektu, jak i kod w c przepadły wraz z formatem komputera, jedyne co zostało to plik .hex odzyskany z kontrolera


    Możesz użyć disassemblera w celu przywrócenia kodu hex do postaci asemblera.
    To ułatwi analizę i poprawki.
  • REKLAMA
  • Pomocny post
    #5 14808555
    tmf
    VIP Zasłużony dla elektroda
    fidor111 napisał:
    Witam!

    Mam dość praktyczny problem - mam zaprogramowany kontroler i chciałbym odzyskać z niego kod, tak bym mógł nanieść na niego kilka poprawek

    Pierwotny plik projektu, jak i kod w c przepadły wraz z formatem komputera, jedyne co zostało to plik .hex odzyskany z kontrolera

    Czy istnieje jakaś stosunkowo bezbolesna metoda żeby ten plik odczytać?
    Na internecie nie mogę znaleźć recepty na to


    Jeśli MCU nie był zabezpieczony to wsad odczytasz każdym programatorem. Można go zdeasemblować w AVR Studio lub Atmel Studio, dzięki czemu odzyskasz kod asemblerowy. Jeśli jest to wynik kompilacji C i znasz dobrze ABI gcc, przejrzysz plik linkera (typ i rozmieszczenie sekcji) oraz insns tłumaczeń konstruktów C na asembler to modyfikacja powinna ci pójść relatywnie sprawnie. Jednak jest to ciągle zadanie relatywnie żmudne.
  • #6 14808893
    fidor111
    Poziom 12  
    Zatem po kolei:
    Nie ustawiałem żadnych bitów zabezpieczających
    Niestety kod w postaci asemblerowej do niczego mi się nie przyda, bowiem nie znam asemblera
    Miałem nadzieję że istnieje jakaś prosta i bezbolesna metoda żeby plik .hex przywrócić do postaci kodu w C, ale z tego co zrozumiałem prościej będzie mi to napisać od nowa

    Dziękuję wszystkim za informacje i pozdrawiam
REKLAMA