Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Jak znienic plik hex na assembler?

Awatar użytkownika
ACeK
-
-
Posty:1522
Rejestracja:30 mar 2003, o 19:35
Lokalizacja:Kielce
Jak znienic plik hex na assembler?

Postautor: ACeK » 11 sty 2017, o 07:53

Obrazek Czy sa jakies programy do zniany wsadu hex na assebler AVR :?
avrd.png
W tej chwili uzywam AVR Studio 4. Wgrywam plik hex a Studio zmienia je na disassembler.
avrs.png
Tyle ze potem jest bardzo pracochlone (reczne) podnienianie adresow skokow lub wpiswanie nazw rejestrow Obrazek

Awatar użytkownika
Jacek Bogusz
-
-
Posty:470
Rejestracja:12 maja 2010, o 17:37
Lokalizacja:Poznań
Kontaktowanie:

Re: Jak znienic plik hex na assembler?

Postautor: Jacek Bogusz » 12 sty 2017, o 09:58

Ta gruba programów nosi nazwę disasemblerów. Kiedyś, gdy tworzyło się programy głównie w asemblerze, były one bardzo popularne. Stosowało się nawet pewne triki, aby utrudnić ciekawskim dekompilację programu. Gdy używasz disasemblera, to musisz wziąć pod uwagę, że on tworzy po swojemu całą symbolikę. Skoki czy wywołania podprogramów nie będą się już nazywały tak ładnie i czytelnie np. start, irq_handler itp., ale nazwie je jakoś tam po swojemu - najczęściej literka i kolejna liczba. Analizowanie takiego programu, zwłaszcza jeśli masz przekopać parę kB, to mordęga. Potrzeba czasu i emulatora, żeby patrzeć jak program działa i poprawiać go po swojemu. A jeśli do tego program jest napisany w języku wysokiego poziomu, który zawsze doda pewien nadmiarowy kod... Naprawdę trzeba na to dużo czasu i wysiłku. Ale da się ;).
Niestety, nie ma idealnych disasemblerów. W przeszłości używałem nawet takich, które rzekomo analizowały kod wyodrębniając albo nieczynne fragmenty, albo wspomniane "sztuczki" utrudniające disasemblację, ale to i tak była bardzo żmudna praca. Często wielokrotnie łatwiej było napisać własny program, niż analizować cudzy. Niestety, nie podpowiem ci niczego gotowego, bo w erze emulatorów, symulatorów i tym podobnych narzędzi, tamte narzędzia nie mają już racji bytu.
Moim zdaniem AVR Studio jest dobrym wyborem, ale w połączeniu z jakimś emulatorem sprzętowym. Pozwoli ci ono na uruchomienie programu krok po kroku i obejrzenie jak działa. Pozwoli wreszcie na ręczną edycję kodu programu, dopisanie komentarzy i "ludzkie" nazwanie etykiet. Niestety, zależnie od wielkości kodu wynikowego, twoja praca może trochę POTRWAĆ.

Wróć do „AVR/AVR32”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 11 gości