Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 18 kwi 2024, o 13:39


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 27 wrz 2015, o 07:29 
Offline
Nowy

Dołączył(a): 24 sie 2014
Posty: 21
Pomógł: 0

Witam
Potrzebuję odtworzyć kod programu na 2313.
Zaginęły mi źródła, a jedyne hex mam tylko w działającym urządzeniu.
Jakieś 10 lat temu zrobiłem gwiazdę na choinkę z ciekawymi efektami.
Potrzebne mi "coś" co odczyta kod wynikowy z procka., a potem zdeassembluje ten kod na instrukcje assemblera.
A jeszcze lepiej, jeśli dodatkowo zamieni ten assembler na kod "c"- ale to już niekoniecznie. :)

Szukałem w necie - wyniki wskazują np. na "deavr".
Może jednak ktoś przerabiał już taki temat i podzieli się wskazówkami czego najlepiej użyć ?
Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 wrz 2015, o 11:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

analizator w łapkę i inżynieria odwrotna ...
ew poszukaj emulatora avr (są choć to syf) i może ci się uda

z doświadczenia ... łatwiej ci będzie napisać nowe (zwłaszcza że raz napisałeś)
no chyba że jednak kod nie jest twój ... :)

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 wrz 2015, o 11:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 704
Lokalizacja: Zielona Góra
Pomógł: 75

Spróbuj tego - https://www.onlinedisassembler.com/odaweb/
lub tego - https://github.com/vsergeev/vavrdisasm,
lub tego - http://linux.softpedia.com/get/Programming/Disassemblers/vAVRdisasm-28478.shtml,
lub tego - https://www.hex-rays.com/products/ida/

_________________
pozdrawiam
phill2k



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 wrz 2015, o 11:54 
Offline
Nowy

Dołączył(a): 24 sie 2014
Posty: 21
Pomógł: 0

kod mój, ale to przeszło 10 lat temu.
w sumie pewnie masz rację , aby napisać od nowa.
to są zwykłe pętle w których w "chytry" sposób są ustawiane porty sterujące "zapalaniem" i "gaszeniem" ledów.
nie chciało mi się tylko na nowo wymyślać tych kombinacji
ps. odpaliłem programik ReAVR - nawet działa, jak znajdę chwilę to popatrzę jakie daje wyniki na bardzo prostym kodzie typu ustaw port



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 wrz 2015, o 13:04 
Offline
Nowy

Dołączył(a): 24 sie 2014
Posty: 21
Pomógł: 0

dzięki za namiary- problem z tym że hex zawiera trochę więcej informacji niż czysty binarny kod.
reavr zrobił cos takiego jak poniżej : - niezbyt to czytelne , chociaż wiadomo o co chodzi. gorzej by było bez źródeł :))
tak więc dziękuje za zainteresowanie, ale jednak odtworzę kod od nowa,..


Kod:
[syntax=c]main()
{
  DDRC |= (1<<PC2);
  while (1)
  {

   PORTC ^= ( 1 << PC2);
  }

}[/syntax]

wyszło cos takiego :
Kod:
[syntax=asm]
__start::
; L0034:
   clr   r1
   out   p3F,r1
   ldi   r28,kFF
   ldi   r29,k08
   out   p3E,r29
   out   p3D,r28
    call   L0040
   jmp   L0046
;   -----------   jump on last line
L003E:
   jmp   L0000
;   -----------   jump on last line
L0040:
   sbi   p07,b2
   ldi   r25,k04
L0042:
   in   r24,p08
   eor   r24,r25
   out   p08,r24
   rjmp   L0042
;   -----------   jump on last line
L0046:
   cli
L0047:
   rjmp   L0047
;   -----------   jump on last line
; pc=0x48(0x90)
;
__text_end::
[/synatax]



proszę prawidłowo wklejać kody --> topic7402.html
-- SunRiver



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO