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