Zpětné čtení HEX
Moderátor: Moderátoři
Zpětné čtení HEX
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!
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!
- forbidden
- Příspěvky: 8808
- Registrován: 14 úno 2005, 01:00
- Bydliště: Brno (JN89GF)
- Kontaktovat uživatele:
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.
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.
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.
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.
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 ![Smile :-)](./images/smilies/icon_smile.gif)
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.
![Smile :-)](./images/smilies/icon_smile.gif)
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.
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.