másolásvédelem
Moczik Gabor
progzmaster at freemail.hu
Thu May 5 21:40:49 CEST 2005
Kicsit lehet hogy hosszu lesz...
Zsolt wrote:
> Az alábbi elgondolás született az eddig kapott 5letek alapján:
> 2db mikrokontroller a kártyán, néhány adatot feldolgoz és másokat manipulál,
> konstansokat a microkontrollerben tárolok és program változókat is kiírok
> bele,
> továbbá a programban több helyen történik ellenörzés a kontroller megléte
> felöl,
Ez nem kell. Ellenorzes nem kell, ne legyen, mert az hackelheto. A szamitas
egy lenyegi reszet vegezze a micro, es akkor folyamatos adatforgalom van a
ket cucc kozott. Ellenorizni annyit kell, hogy valaszol-e, es helyes adatot
kuld-e vissza a kartya. Ha nem, akkor kiirja a hibauzenetet (CARD NOT
RESPONDING). (veletlenul se emlitsd, hogy azert nem megy, mert illegalis
masolat, hagy gondolkodjanak)
> továbbá ha bármilyen hardver elemet (winchester, alaplap) kicseréltek a
> program
Ezt kihagyhatod, nincs ertelme, jelentosege. Ugyis egyszeruen torheto, ha
meg az elozo dolgot megcsinalod, akkor mar mas vedelem nem is kell.
> mûködése rendkívûl le1szerûsödik : HARDWARE ERROR üzenet kiírására,
> de mivel ez a gép ha mûködik akkor 10-20 év múlva is ellátja funkcióját így
> nincs szükség hardware cserére, kivéve ha elromlik, ebben az esetben meg
> felhívnak kicserélem, meg átírom a programot hozzá.
Jobb az, ha megoldjak maguknak a hardver cseret. Mi van, ha azonnal rogton
kellene hogy menjen, te meg nem vagy elerheto?
> A program cheksumot ellenôriz, tehát ha bele túrtak akkor nem fog mûködni
> és mondjuk ha feltörik akkor még 3-4 helyen néhány órai használat után is
> ellenörzi egy másik kódrészletben is a cheksumot és ha gyanús a dolog
> akkor talán a microkontrollerek programját is törli.
A checksum-ot egy jobb cracker rogton kiiktatja, viszont biztos, hogy ehhez
azert o is elinditja egyszer-ketszer a programot. Erre a programod ne a
mikrokontrollert torolje, hanem kuldjon ki neki egy jelzest, hogy "baj van",
amire o ezt szepen letarolja a belso eeprom-jaban, es innentol nem mukodik a
nem-tort verzioval sem, csak kiirja, hogy "Internal error. Call support" :-)
Fontos, hogy csak akkor szuntesse be a mukodest, amikor tuti, hogy toressel
probalkoznak, ha esetleg tenyleg meghibasodik valami, az ne ingerelje.
Pl.:
Az elejen ellenorizze a checksum-ot. Ha nem jo, irja ki hogy valami hiba
van, "ujra kell telepiteni", es lepjen ki. Lehet pl. vinyo/floppy hiba is
(bad sector). A kiszamolt checksumot alkalmas helyen es idoben kuldje ki a
mikrokontrollernek, ami ellenorzi.
Most jo a trukkos cracker, kiveszi az egesz checksum ellenorzest, vagy csak
a kilepteto ablakot -> tovabbmegy a program. Amikor meg majd a kiszamitott
checksumot kell kikuldeni (ami vagy nincs, vagy nem jo, mert piszkalta a
programot), akkor a mikrokontroller eszreveszi hogy gond van, beallitja a
PANIC flag-et az eepromban es kesz.
Ami megoldando:
- azert ha frissiteni kell a programot, valahogy at kell tudni irni a
checksumot a uC-ben is.
- a kikuldott checksumnal nem kulheted konkretan a valtozot, mert
debugger-el mar az elejen meg fogjak talani. (pl. ird egy buffer kozepebe,
aztan egy trukkos algoritmus pakolgasson, szamolgasson a bufferbe, mintha
felulirna az egeszet, kozben meg kicsit attranszformalja a byteokat, de
vegul is az eredmeny checksum fuggo lesz, es ezt kell a uC-nek kuldeni)
> Szerintem ez már olyan sok így egyben, hogy hibás mûködésre már nincs is
> szükség a lemásolt kártyában és programban....
Nem tudom mit fog vezerelni, mit fog szamolni, esetleg kis pontatlansagot
lehet belevinni. Egy-ket tizedes levagasa, etc...
AMI FONTOS:
A licensz szerzodesben feltuntetni, hogy az eszkoz es a hozza tartozo
szoftver/hardver elemek masolasa tilos, valamint masolasvedelemmel van
ellatva. Esetleges illegalis masolas eseten nem koteles a specifikacioknak
megfeleloen mukodni, es az ebbol kovetkezo anyagi karokert, profit/miegymas
vesztesert, uzemzavarert felelosseget nem vallalsz, a garancia elveszik, es
raadasul meg jogi utra tereled a dolgot :-)
Na, milyen otletek?
--
((( Móczik Gábor )))--((( hu <- DOT <- freemail <- AT <- progzmaster )))
((( http://progzmaster.homelinux.org )))
More information about the Elektro
mailing list