Zpětné čtení HEX

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
michalino
Příspěvky: 348
Registrován: 03 srp 2009, 02:00

Zpětné čtení HEX

#1 Příspěvek od michalino »

Dobrý den, prosím Vás o radu ze zajímavosti..

Lze přečíst zpětně HEX soubor?
Pokud program dělám třeba v bascomu a převedu ho do HEX formátu, můžu ho z toho HEX formátu převést zpět do čitelné podoby?

Dá se kód v mikroprocesoru nějak ochránit proti přečtení nebo dělá se to vůbec?

Děkuji,
Všem přeji hezký den!

Uživatelský avatar
forbidden
Příspěvky: 8808
Registrován: 14 úno 2005, 01:00
Bydliště: Brno (JN89GF)
Kontaktovat uživatele:

#2 Příspěvek od forbidden »

Proti přečtení obsahu se dá chránit úplně jednoduše, alespoň u PICu, u Atmelu nevím. Nastavíš si konfigurační bit, který chrání programovou paměť, nebo jiný i EEPROM.
Na převedení z HEXu do ASM existují tzv. disassemblery, ale nikdy jsem to nezkoušel. Nebude to asi moc spolehlivý a hlavně tam samozřejmě nebudou poznámky, takže vyznat se v cizím programu bude obtížný. To ho radši napíšu sám znova.

Uživatelský avatar
michalino
Příspěvky: 348
Registrován: 03 srp 2009, 02:00

#3 Příspěvek od michalino »

Děkuji za odpověď a máte někdo zkušenosti s Atmelem a Bascomem?

Uživatelský avatar
Hill
Administrátor
Administrátor
Příspěvky: 18898
Registrován: 10 zář 2004, 02:00
Bydliště: Jičín, Český ráj

#4 Příspěvek od Hill »

Pokud ti disassembler dovolí přiřadit konkrétním adresám subrutin a skoků, které najde ve strojovém kódu, i jejich názvy (ty si zvolíš vlastní), může se to čtení zjednodušit. Zvlášť, když jsi schopen určit význam a funkci alespoň několika z pojmenovávaných rutin (volání portů, matematické operace, čtení vstupů a pod.) a přiřadit jim na základě toho symbolickou adresu se jménem, které tuto funkci třeba nepopíše, ale řekne, že se tady provádí.
Ale jednotky hodin ani tak stačit nebudou, počítej, že začneš na desítkách až stovkách, a není vyloučené, že to pak stejně zahodíš a raději napíšeš vlastní program.

Uživatelský avatar
ccode
Příspěvky: 185
Registrován: 09 kvě 2007, 02:00
Bydliště: nedaleko od Prahy

#5 Příspěvek od ccode »

Disassemblerem to , ale nedostane zpět do podoby zdrojového kódu pro compiler BASICu (BASCOM) .

Uživatelský avatar
forbidden
Příspěvky: 8808
Registrován: 14 úno 2005, 01:00
Bydliště: Brno (JN89GF)
Kontaktovat uživatele:

#6 Příspěvek od forbidden »

ccode píše:Disassemblerem to , ale nedostane zpět do podoby zdrojového kódu pro compiler BASICu (BASCOM) .
To ne, ale reverse engineering do vyššího programovacího jazyka bude ještě obtížnější, než do ASM. Osobně si myslím, že do BASIcu to nedostane nikdy, ale možná se pletu.

Uživatelský avatar
popopepe
Příspěvky: 548
Registrován: 26 říj 2005, 02:00

#7 Příspěvek od popopepe »

No, půjde to velmi složitě. Hex nebo Bin už jsou vlastně jenom jedničky a nuly, které píšeš do procesoru. Vždyť si to zkus sám. Napiš triviální program v Bascom, vygeneruj HEX, a pak to z toho HEX zkus přeložit zpátky. I když jsi autorem toho programu a víš přesně co to dělá, budeš mít velké problémy :-)
Ona ta ochrana proti přečtení z procesoru není ani tak kvůli zpětnému louskání programu, jako spíš ochrana proti kopírování a následnému šíření naprogramovaných procesorů.
I když všechno asi jde, otázka jestli to stojí za to.

Uživatelský avatar
procesor
Příspěvky: 5284
Registrován: 02 říj 2009, 02:00
Bydliště: PO

#8 Příspěvek od procesor »

V minulom storočí sa to dalo (v počiatkoch PC). Disassembler som mal v hlave. Dnes je svet rýchlejší a rôznych procesorov veľa.
Aj vlastný rozsiahlejší ASM program po desiatich rokoch dá zabrať- a to pritom tuším, čo to má robiť :wink:

Uživatelský avatar
procesor
Příspěvky: 5284
Registrován: 02 říj 2009, 02:00
Bydliště: PO

#9 Příspěvek od procesor »

BASIC, ktorého základ pochádza z interpreteru, máva za "jadrom" štruktúru dat odpovedajúcu zápisu programu (jednotlivých príkazov s aj parametrami). Stačí nájsť túto štruktúru a dešifrovať kódy jednotlivých príkazov s príslušnými parametrami. Jadro si netreba všímať. Buď je fixne veľké, alebo po preklade obsahuje moduly iba pre použité príkazy.

Uživatelský avatar
michalino
Příspěvky: 348
Registrován: 03 srp 2009, 02:00

#10 Příspěvek od michalino »

Tak taková HACKEŘINA to je...
hmm...

Děkuji všem za příspěvky...

Zní to už velmi pokročile a vědecky...jak píšete, zkusím se zabývat teď pouze tím, jak ochránit procesor proti přečtení, potažmo zamezení kopírování paměti procesoru....

Děkuji všem a hezký den taky všem!!!

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“