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

LPC2103F – odczyt wsadu, edycja komunikatów menu i ponowny zapis przez RS232

alll 10 Wrz 2008 20:16 2434 8
REKLAMA
  • #1 5523296
    alll
    Poziom 12  
    Posty: 43
    Pomógł: 1
    Ocena: 14
    Witam forumowiczów!!
    Nie ukrywam jestem nowicjuszem w tej dziedzinie,ale kto pyta nie błądzi :).
    Mam działające urządzenie w którym jest zainstalowany LPC 2103 i tu moje pytanie -Urządzenie ma obcojęzyczne menu,czy jest możliwość zczytania wsadu mikrokontrolera zmiana komunikatów i wczytania go ponownie ? płytka ma złącze 6 pinów (pewnie rs232 używany do upgrade-u softu) .Proszę o odpowiedź czym i jak się do tego zabrać (o ile jest to możliwe).
    Pozdrawiam
  • REKLAMA
  • #2 5523499
    Zbych_
    Poziom 25  
    Posty: 456
    Pomógł: 81
    Ocena: 6
    alll napisał:

    Nie ukrywam jestem nowicjuszem w tej dziedzinie,ale kto pyta nie błądzi :).

    Kto pyta ten już zabłądził :-).

    alll napisał:
    Mam działające urządzenie w którym jest zainstalowany LPC 2103 i tu moje pytanie -Urządzenie ma obcojęzyczne menu,czy jest możliwość zczytania wsadu mikrokontrolera zmiana komunikatów i wczytania go ponownie ?


    Jeśli napisy są trzymane wewnątrz procesora i jest on zabezpieczony, to twoje szanse gwałtownie maleją. Sprawdź najpierw, czy na płytce nie ma jakichś innych pamięci np. szeregowych flashy, czy eepromów. Może w nich są trzymane napisy.
  • #3 5524029
    markosik20
    Poziom 33  
    Posty: 2263
    Pomógł: 208
    Ocena: 147
    alll napisał:
    ... płytka ma złącze 6 pinów (pewnie rs232 używany do upgrade-u softu)


    Na stronie NXP znajdziesz program do wgrywania flash'a przez RS232. Jeżeli uda Ci się odczytać zawartość programu to pozostaje znalezienie diasasemblera który "przerobi" Ci zczytany plik hex na asembler, jeżeli już będziesz miał ten kod w asemblerze pozostaje go rozszyfrować co dla kogoś kto zna bardzo dobrze asm ARM'a i architekturę LPC2103 może zająć nawet kilkanaście dni. Jeżeli jesteś nowicjuszem....to radzę daj sobie z tym spokój :wink:.
  • REKLAMA
  • #4 5524092
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    swoja droga, jak juz wyplynal taki temat [;

    stale w ASM definiowane sa na rozne sposoby, jako ze ja w ARMach tez jestem 'swiezy' i chwilowo nie chce mi sie szukac, to zalozmy, ze lancuch znakowy definiowany jest przez .ascii albo .asciz (a pewnie tak jest, bo w GCC dla PICow tak wlasnie jest).

    no i teraz dajmy na to, ze jest sobie lancuch np:
    
    string: .asciz "pajak je biedronke"
    


    no i teraz, jak to zostanie zdezassemblowane, to jak mniemam zaden dezassembler nie jest na tyle sprytny, zeby zgadnac, czy to sa stale, czy normalny kod i zinterpretuje to jako jakis kosmiczny i bezsensowny ciag instrukcji [;

    teraz biorac pod uwage fakt, ze taki kod rownie dobrze moze byc nawet calkiem sensowny ... znalezienie w tym bajzlu jakiegos sensu i wzoru przeciez jest chyba niemozliwe [; zwlaszcza biorac pod uwage to, ze asm dla ARMa wygenerowany przez kompilator (szczegolnie przy wysokiej optymalizacji) jest juz sam w sobie kosmosem <:

    4\/3!!
  • REKLAMA
  • #5 5524502
    kred
    Poziom 20  
    Posty: 269
    Pomógł: 30
    Ocena: 18
    Jak już masz zgrany wsad w formacie binarnym to możesz go podejrzeć jakimś hex-edytorem przecież. Tekst pewnie będzie w normalnym formacie ASCII + 0x00 na końcu.
    Gorzej jeśli program sprawdza jakoś sumę kontrolną flasha, ale to już jest drastyczny przypadek.
  • REKLAMA
  • #6 5525370
    Konto nie istnieje
    Konto nie istnieje  
  • #7 5525422
    fantom
    Poziom 31  
    Posty: 1649
    Pomógł: 108
    Ocena: 42
    Cytat:
    If after reset on-chip bootloader detects a valid checksum in ßash and reads 0x8765 4321
    from address 0x1FC in ßash, debugging will be disabled and thus the code in ßash will be
    protected from observation. Once debugging is disabled, it can only be enabled by
    performing a full chip erase using the ISP.


    ...wiec jesli ktos byl sprytny (a pewnie byl) to nie zrobisz nic poza skasowaniem calej pamieci. Po drugie nawet jesli komunikaty sa "zahardkodowane" (a niekoczniecznie musza byc bo byc moze sa w np zewnetrznym EEPROM-ie) to jakakolwiek zmiana ilosc liter rozjedzie ci caly program (albo bedziesz musial pozmieniac wszystkie odwolania do nich w zdizasemblowanym kodzie), chyba ze zostal dla nich utworzony specjalny sprytnie obslugiwany segment w ktorym zmiany nie wplywaja na wywalenie sie kodu. Co to za urzadzenie, jakies schemaciki ?
  • #8 5526017
    alll
    Poziom 12  
    Posty: 43
    Pomógł: 1
    Ocena: 14
    Dziękuję za zaangażowanie w dyskusje.
    Widzę że to nie takie proste jak mi się wydawało-mam trochę doświadczenia ze sterownikami PLC ,ale w porównaniu z tym co piszecie to przedszkole :)
    Odpuszczam sobie
    Pozdrawiam ALL
  • #9 6980053
    alll
    Poziom 12  
    Posty: 43
    Pomógł: 1
    Ocena: 14
    Witam !!
    Reaktywuję temat :)
    Mam wsad z rozszerzeniem .hex ,
    jednak przy podglądnieciu hex edytorem nie ma tam nic ciekawego(tekstu wyswietlacza).
    Myślę że trzeba ten plik zdeasemblerować tylko czym?
    proszę kolegów o pomoc w znalezieniu programu którym będe mogł odczytać ten plik.
    Pozdrawiam

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy możliwości odczytu, edycji i ponownego zapisu wsadu mikrokontrolera LPC2103 przez interfejs RS232, w celu zmiany obcojęzycznych komunikatów menu urządzenia. Wskazano, że jeśli mikrokontroler jest zabezpieczony, odczyt wsadu może być niemożliwy. Sugerowano sprawdzenie obecności zewnętrznych pamięci, takich jak EEPROM lub pamięci flash, gdzie mogą być przechowywane teksty. Do wgrywania i odczytu flasha przez RS232 polecono oprogramowanie dostępne na stronie NXP. Po odczycie wsadu w formacie hex konieczne jest użycie disasemblera do konwersji na kod asemblera ARM, co wymaga zaawansowanej znajomości architektury LPC2103 i asemblera ARM. Zwrócono uwagę, że teksty w kodzie mogą być zdefiniowane jako stałe ASCII (.ascii, .asciz), ale disasembler może interpretować je jako instrukcje, co utrudnia ich identyfikację. Zmiana długości komunikatów może wymagać modyfikacji odwołań w kodzie, co jest skomplikowane bez dostępu do oryginalnego kodu źródłowego. Wspomniano także o narzędziu strings z pakietu binutils do wyodrębniania łańcuchów znaków z plików binarnych. Ostatecznie autor tematu zrezygnował z dalszych prób, a w późniejszym follow-upie poszukiwał programu do deasemblacji pliku .hex, gdyż podgląd hex edytorem nie ujawnił czytelnych tekstów.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA