Arduino čítanie kódov

Sekcia určená pre Arduino nadšencov

Moderátor: Moderátori

KUTIFAR5
Stály člen
Stály člen
Príspevky: 117
Dátum registrácie: 03 Mar 2013, 21:19

Arduino čítanie kódov

Príspevok od používateľa KUTIFAR5 » 04 Jún 2017, 13:51

Nazdar nevedel by mi prosím niekto poradiť ako by som zistil čo je nahraté v arduine ?Vopred vdaka

! Presun témy do správnej sekcie. presunul: 5.6.2017 mirosne !
0

deepspace
Pokročilý člen
Pokročilý člen
Príspevky: 738
Dátum registrácie: 18 Máj 2017, 10:12
Bydlisko: Bratislava

Re: Arduino čítanie kódov

Príspevok od používateľa deepspace » 04 Jún 2017, 14:37

Pokiaľ Ti ide o Sketch, ten s Arduina nevytiahneš.., keď tak HEX/BIN .. a disassembling ..
0

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 709
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: Arduino čítanie kódov

Príspevok od používateľa Tribec Zacks » 04 Jún 2017, 14:38

Budes potrebovat nejaky programator avr a s jeho pomocou downloadnut obsah flash. .hex mozes potom rovno disassemblovat v avr studiu.
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

Používateľov profilový obrázok
fandapro
Stály člen
Stály člen
Príspevky: 158
Dátum registrácie: 24 Júl 2015, 10:38
Bydlisko: Litoměřice
Vek: 73
Kontaktovať používateľa:

Re: Arduino čítanie kódov

Príspevok od používateľa fandapro » 04 Jún 2017, 14:41

Arduino pripoj přes konektor ISP k programátoru USB ISP a přečti obsah eep a hex , já to tak dělám u Arduino nano , přes program extreme Burner, nebo jiný.
0
fandapro.blogspot.cz fandapro@seznam.cz

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2563
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: Arduino čítanie kódov

Príspevok od používateľa maskrtnik01 » 04 Jún 2017, 15:07

Dobrý deň,

Fandapro, mohli by ste prezradiť, ako to potom disassemblujete? Lebo ja si viem predstaviť nanajvýš do C v zmysle priameho prístupu k registrom. Ďalej do podoby arduino sketchu mi už predstavivosť nefunguje.
0

pocitujlasku
Ultimate člen
Ultimate člen
Príspevky: 6201
Dátum registrácie: 20 Júl 2007, 00:00
Vek: 41

Re: Arduino čítanie kódov

Príspevok od používateľa pocitujlasku » 04 Jún 2017, 18:06

maskrtnik01: ono sa da program pochopit aj v asembleri. My sme niekedy v skole pisali programy priamo v asm, ziadne C, ziadne arduino.
0
Jedním z největších projevů nedůvěry v Boha je hromosvod na kostele.

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2563
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: Arduino čítanie kódov

Príspevok od používateľa maskrtnik01 » 04 Jún 2017, 19:02

Tak samozrejme sú ľudia, čo pochopia assembler. Ale otázka znela, ako prečítať Arduino. Nemyslím si, že Arduinisti vedia assembler. A disassemble do C, nemuseli by sa vysomáriť z toľkých registrov a tak.
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Arduino čítanie kódov

Príspevok od používateľa peterple » 04 Jún 2017, 23:23

To by som rád videl toho/to čo skompilovaný program pre AVR prevedie do C. A navyše aj arduino (teda správnejšie ten MCU čo je na arduino doske) môže byť zamknuté takže sa nedá prečítať ani ten hex.
Mimochodom kde má C nejaké registre. Nepletieš si to práve s zdrojákom v asm? K tomu sa dá pomocou dissasemblera dopracovať z hex pomerne ľahko. Akurát je to k ničomu a skúsený asemblerista radšej napíše program znova než by sa zabával analýzou a spätnou konverziou do C (nedajbože C++).
Takéto veci sa robia len ak sa to poriadne vyplatí.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2563
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: Arduino čítanie kódov

Príspevok od používateľa maskrtnik01 » 05 Jún 2017, 03:19

Napr. PORTA = 0x40;
0

Používateľov profilový obrázok
budvar10
Pokročilý člen
Pokročilý člen
Príspevky: 983
Dátum registrácie: 15 Dec 2014, 10:55
Bydlisko: Košice

Re: Arduino čítanie kódov

Príspevok od používateľa budvar10 » 05 Jún 2017, 07:37

Ak sa pýtaš, čo znamená PORTA = 0x40, tak to sa jednoznačne nedá povedať. Môže to byť napr. výstup na pinoch portu A 0/1 podľa jednotlivých bitov, ak sú nastavené ako výstup. Musíš vedieť, ako je nastavené DDRA a PUD. Treba si pozrieť datasheet k procesoru, tam je tabuľka, ktorá popisuje ako funguje I/O.

-- Spojený príspevok 05 Jún 2017, 06:46 --
maskrtnik01 napísal:Dobrý deň,

Fandapro, mohli by ste prezradiť, ako to potom disassemblujete? Lebo ja si viem predstaviť nanajvýš do C v zmysle priameho prístupu k registrom. Ďalej do podoby arduino sketchu mi už predstavivosť nefunguje.
HEX sa dá vytiahnúť z procesora, ak nie je zamknutý. Arduino nemá zamknutý MCU. Ako - to už bolo napísané. HEX do ASM pomocou avr-objdump utility (teda ak to je Arduino s AVR MCU), toto je súčasť Arduino IDE. Do C to už je problém, ale aj takéto tooly existujú.
0

pocitujlasku
Ultimate člen
Ultimate člen
Príspevky: 6201
Dátum registrácie: 20 Júl 2007, 00:00
Vek: 41

Re: Arduino čítanie kódov

Príspevok od používateľa pocitujlasku » 05 Jún 2017, 07:49

maskrtnik01 napísal:ako prečítať Arduino
Odpoved: nijak. Ak by si aj ziskal hex, tak arduino z toho nevytvoris. To je podobne, ako keby si chcel z hotoveho kolaca ziskat presny recept. Priblizne sa da, ale nikdy to nebude 100%.
Musis si uvedomit, ze arduino to preklada do bin (strojovy kod), a pouziva pri tom rozlicne optimalizacie, kde sa zahadzuje kopec veci, ako napr. komentare, nazvy premennych, procedury...
0
Jedním z největších projevů nedůvěry v Boha je hromosvod na kostele.

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2563
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: Arduino čítanie kódov

Príspevok od používateľa maskrtnik01 » 05 Jún 2017, 10:12

A sme presne tam, kde som si myslel že skončíme. ASM sa dá. V tom lepšom prípade aj C s priamou mainpuláciou registrov ako DDRx, PORTx, ... .ino ani omylom.
0

Používateľov profilový obrázok
budvar10
Pokročilý člen
Pokročilý člen
Príspevky: 983
Dátum registrácie: 15 Dec 2014, 10:55
Bydlisko: Košice

Re: Arduino čítanie kódov

Príspevok od používateľa budvar10 » 05 Jún 2017, 10:19

Veď .ino je C/CPP.
Reverzne inžinierstvo do vyšších jazykov nie je úplne jednoduchá vec. ASM nie je problém, keďže je to len priradenie príkazov k binárnym kódom.
0

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2563
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: Arduino čítanie kódov

Príspevok od používateľa maskrtnik01 » 05 Jún 2017, 10:26

Dobre tak poviem to teda inak. Poznáte nástroj, ktorý by rozoznal všetky Arduino funkcie a knižnice? Ešte pinMode by nemusela byť komplikovaná, ale čo ak tam niekto dal kopu ďalších knižníc? Myslím si, že by to bol problém porozoznávať všetky tie funkcie a popriraďovať knižniciam.
0

Používateľov profilový obrázok
budvar10
Pokročilý člen
Pokročilý člen
Príspevky: 983
Dátum registrácie: 15 Dec 2014, 10:55
Bydlisko: Košice

Re: Arduino čítanie kódov

Príspevok od používateľa budvar10 » 05 Jún 2017, 10:31

Áno, toto je problém. Taký SW s pravdepodobnosťou, hraničiacou s istotou, neexistuje.
0

OM0XA
Stály člen
Stály člen
Príspevky: 235
Dátum registrácie: 03 Okt 2012, 23:18
Bydlisko: Poprad

Re: Arduino čítanie kódov

Príspevok od používateľa OM0XA » 05 Jún 2017, 11:39

Otazka znela, ci jemozne zistit, co je nahrate v arduine. Na to je jednoducha odpoved: ano, da sa, pokial nie je procesor zamnknuty.
To je vsetko. Vysledkom bude hex alebo bin subor.

Druha vec je, a to nebolo sucastou otazky, zistit co ten kod robi. To je uz zlozitejsie. Lahko sa da hex/bin subor disassemblovat do Jazyka symbolickych instrukcii (JSI), nespravne nazyvaneho assembler. (Asembler je program, ktory preklada kod zapisany v jazyku symbolickych instrukcii do strojoveho kodu procesora)
Potom uz neostava nic ine ako lustit a lustit, ale jednoznacne sa da zistit,co dana aplikacia robi.
Preklad do nejakeho vyssieho jazyka, napr. do C, je uz z oblasti experimentalnej. Problem je ten, ze jeden strojovy kod sa da v jazyku C zapisat mnohymi sposobmi. Ak aj nejaky softver urobi takyto preklad, nebude to citatelnejsie a lahsie na pochopenie ako kod v JSI.
0

Používateľov profilový obrázok
Dr.Martin
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1361
Dátum registrácie: 15 Jún 2011, 00:00
Vek: 29

Re: Arduino čítanie kódov

Príspevok od používateľa Dr.Martin » 21 Jún 2018, 13:41

Oživím túto tému.Dočítal som sa tu že sa z arduina dá vytiahnuť hex súbor, ale nedá sa z neho spraviť ino resp veľmi ťažko. Dá sa tento hex súbor nahrať do iného arduina aby robilo to isté čo arduino z ktorého som ten hex vytiahol?
0
Ľudovít Štúr opustil túto konverzáciu.
Nemám rád špenát, Tdi a moralistov.
GitHub

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2563
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: Arduino čítanie kódov

Príspevok od používateľa maskrtnik01 » 21 Jún 2018, 13:56

Keď je to celá flash, nemal by byť problém.
Akurát, keď ten program očakáva niečo prichystané v eeprom, treba prečítať a napáliť do druhej atmegy aj eeprom.
0

Používateľov profilový obrázok
budvar10
Pokročilý člen
Pokročilý člen
Príspevky: 983
Dátum registrácie: 15 Dec 2014, 10:55
Bydlisko: Košice

Re: Arduino čítanie kódov

Príspevok od používateľa budvar10 » 21 Jún 2018, 14:44

A musí to byť rovnaký procesor.
0

pocitujlasku
Ultimate člen
Ultimate člen
Príspevky: 6201
Dátum registrácie: 20 Júl 2007, 00:00
Vek: 41

Re: Arduino čítanie kódov

Príspevok od používateľa pocitujlasku » 21 Jún 2018, 14:59

Urobit kopiu 1:1 do rovnakeho procaku nie je problem, pokial ten zdrojovy nie je zamknuty.
0
Jedním z největších projevů nedůvěry v Boha je hromosvod na kostele.

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok