Sida 1 av 1
Finns nå't för att koda av en programmerad 324p?
Postat: 1 december 2015, 22:09:49
av Basher52
Troligen dum fråga för jag har inte hittat nåt efter att ha sökt flera veckor men jag frågar i alla fall, man KAN ju ha skippat just DEN posten där svaret fanns.
Om jag har en fungerande och programmerad Atmega324P, finns det nåt sätt att få ut en läsbar source ur denna?
och ännu bättre om den gick att convert:a till 'Arduino Studio' kod som är för mej lite lättare att läsa än den C-kod "sak" som skulle kunna gå men isåfall även det.

Re: Finns nå't för att koda av en programmerad 324p?
Postat: 1 december 2015, 22:16:08
av adent
Hej!
I bästa fall kan du få ut maskinkod som sedan kan disassembleras till assembler. Men den blir ganska svår att följa eftersom där inte finns några kommentarer
eller vettiga label-namn o.s.v.
I sämsta fall är kod-skyddet aktiverat på processorn och det går inte att få ut något.
Jag har hört talas om program som ska kunna generera C-kod utifrån maskinkod/assembler. Jag är dock tveksam och tror att det isåfall bygger mycket
på att man vet exakt vilken kompilator som användes (och om optimering var påslaget).
Om jag tolkar din fråga rätt hoppas du på ännu ett snäpp högre: Att få arduinokod, DET är nog helt kört.
MVH: Mikael
Re: Finns nå't för att koda av en programmerad 324p?
Postat: 1 december 2015, 23:03:29
av lillahuset
Glöm det. Som adent skriver så kan du få ut assembler om processorn inte är lässkyddad.
Att tolka assembler är en nyttig övning för en aspirerande embeddedprogrammerare.

Re: Finns nå't för att koda av en programmerad 324p?
Postat: 2 december 2015, 03:42:26
av bearing
Om du vet vad 324an gör, går det snabbare att skriva ett program som gör samma, än att försöka tolka assemblerkoden och skriva ett nytt program med assemblerkoden som bas.
Om du inte vet vad 324an gör, går det nog fortare att först testa den så mycket att du listat ut vad den gör, och sedan skriva ett program som gör samma, än att försöka tolka assemblerkoden och skriva ett nytt program med assemblerkoden som bas.
Re: Finns nå't för att koda av en programmerad 324p?
Postat: 2 december 2015, 07:40:46
av Icecap
Om inte den gör något unikt, t.ex. en speciell uträkning eller liknande, är det en dödfödd väg att gå.
Om vi antar att det ens är möjligt att läsa ut innehållet finns det inget sätt att automatisk "översätta" till C-kod eller liknande, ingen pålitlig iaf.
Det är definitivt möjligt att köra en disassembly och få ut källkoden i assembler, därifrån kan man manuellt identifiera olika funktioner och skapa ett flödesschema(-liknande) beskrivning av vad programmet gör. Man kan avgöra hur inställningar i timer-register och andra är och i det stora hela kan man bestämma vad den gör.
Men det kräver tid och kännedom - men mest tid! Mycket av den.
Är det en "normal" kod som fyller kanske 16kB skulle jag tro att en månads fulltidsarbete skulle räcka till att ha reverse-engineer'ad den, då kan man skriva koden som den (ungefärligt) ursprungligen så ut, detta borde ta ett par timmar.
Jag har själv utförd ett sådan jobb, dock bara med en Z80 disassembly där jag rensade en källkod från speciella ID-grejer och lade in egna funktioner. Det var 12kB maskinkod, skrivit i maskinkod från början, och rensningen och funktionsuppdelningen tog bara ~5 månader.
Men sedan slår det ner en tanke i mig:
"Ber man om att få det som Arduion-kod har man så pass dåligt koll på µC Down & Low att det blir omöjligt."
Re: Finns nå't för att koda av en programmerad 324p?
Postat: 2 december 2015, 17:27:34
av opatagio
Gjorde också en liknande sak och kan bara instämma med andra, undvik i möjliga största mån att gå den vägen!
Det jag pysslade med slutade att jag efter att ha sorterat ut och funnit de väsentliga initieringar som processorn gjorde med omvärlden helt enkelt gav upp på resten av koden. Använde det jag lärde mig och skrev om på nytt. Men visst, lärorikt är det, kan inte säga annat.
Re: Finns nå't för att koda av en programmerad 324p?
Postat: 12 januari 2016, 20:57:41
av Basher52
OK, så då blir det å skippas å köra som den funkar.
Tackar i alla fall
Re: Finns nå't för att koda av en programmerad 324p?
Postat: 12 januari 2016, 21:13:55
av bearing
Vad gör programmet?