Finns nå't för att koda av en programmerad 324p?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Basher52
Inlägg: 147
Blev medlem: 12 maj 2015, 01:20:19

Finns nå't för att koda av en programmerad 324p?

Inlägg 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. :P

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.

:jimmyhacker:
Användarvisningsbild
adent
Inlägg: 4245
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: Finns nå't för att koda av en programmerad 324p?

Inlägg 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
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Finns nå't för att koda av en programmerad 324p?

Inlägg 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. :lol:
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Finns nå't för att koda av en programmerad 324p?

Inlägg 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.
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Finns nå't för att koda av en programmerad 324p?

Inlägg 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."
opatagio
Inlägg: 236
Blev medlem: 24 maj 2005, 20:19:21

Re: Finns nå't för att koda av en programmerad 324p?

Inlägg 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.
Basher52
Inlägg: 147
Blev medlem: 12 maj 2015, 01:20:19

Re: Finns nå't för att koda av en programmerad 324p?

Inlägg av Basher52 »

OK, så då blir det å skippas å köra som den funkar.
Tackar i alla fall
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Finns nå't för att koda av en programmerad 324p?

Inlägg av bearing »

Vad gör programmet?
Skriv svar