Re: ako vyrobit presnu kopiu diskety?

From: Martin Zeidler (zm@wo.cz)
Date: 20. 03. 2001, 22:43 CET


>     Zdravim,
>     mam dorbny problem: znamy sa na mna obratil s prosbou, aby som mu
> urobil startovacej diskety nejakeho archaickeho DOS-ovskeho programu,
> ktory pouziva. Tak som sa usmial, ze OK a chcel som to urobit cez
> obycajne diskcopy, ale neide to, resp. ten program z takto vytvorenej
> diskety nenabehne. Tak som sa pozrel na tu disketu a zistil som, ze su
> na nej  presne 2 bad sectory - mozno prave to je to - ten program si
> takto overuje pravost tej diskety. No a teraz zhanam program, ktory viem
> urobit identicku kopiu diskety, tak, aby preniesol presne obraz jednej
> diskety na druhu (meno disku atd. - vratane vadnych sektorov - proste
> vsetko).
>     Dost mi to suri, privitam kazdy tip (malo by to fachcit bud pod
> DOSom alebo Win95-8, nie nejaka velka aplikacia - nejaka mala utilitka).
> Vopred vam dakujem.
>     Jozo
>

No s timhle ti neporadim, ale mluvis mi z duse, protoze jsem se chtel na
tohle uz davno zeptat, akorat jsem uz linej i napsat dotaz do konference :o)
Ale ja se chci zeptat trochu z jineho duvodu. Kdysi jsem mel zakoupeny
originalni program pro PC na disketach a ten byl chranen presne touhle
metodou - vytvorenim umyslnych spatnych sektoru na diskete, aby to neslo
zkopirovat. Bylo to nekdy v roce 96 po mem prechodu z Commodore 64 (:o) na
486 a docela me to prekvapilo. Na C64 jsem se mimo jine venoval i crackovani
programu a tak mam s timto jiste zkusenosti :o) Na 8 bitech nebyl kloudny
operacni system a tak se tam pouzil nejaky basicovy prikaz pro spusteni
programu ve strojaku a pak uz si tam clovek mohl delat doslova co chce.
Predpokladal jsem ze na PC je poradny operacni system a kazdy bude radne
vyuzivat jeho sluzeb, protoze obchazeni = rikani si o problemy v budoucich
verzich. Ac sluzby Dosu moc neznam, tak se mi nechce verit, ze precist
"chybny" sektor lze se zachovanim cistoty programovani. Ve Windows bych to
pak rovnou nazval "cestou prasete" :o))
Matne si vzpominam, jak se chybove sektory vytvarely na disketove jednotce k
C64. Kazdy sektor na diskete mel dve casti - hlavicku sektoru a samotny
datovy blok. Hlavicka tedy vypadala asi takhle:

255      5* byte 255 - pokyn cteci hlave, ze zde zacinaji data
255
255
255
255
07        07 = jde o hlavicku sektoru
01        cislo teto stopy
01         cislo tohoto sektoru
atd...

Podle te hodnoty 07 program vyhodnotil ze jde o hlavicky sektoru. Vzor teto
hodnoty byl ulozen v ram disketove jednotky a sel tedy menit. Pak uz stacilo
pro vytvoreni chyby jen zmenit tento vzor a zapsat sektor na disk. Ten se
ulozil se spatnym vzorem a normalne byl necitelny. Pro cteni pak bylo nutno
pri behu programu prepsat docasne vzor, precist ten "spatny" blok a opet vse
vratit zpatky. Samozrejme takova disketa nesla klasicky zkopirovat. Pro
precteni "spatneho" sektoru bylo ovsem nutne programovat primo radic
disketove jednotky a menit jeji promenne, na ktere by se vubec nemelo
sahat - a proto se domnivam ze na PC to bude taky tak nejak :o)
Nebo je zde nejaky hacker, ktery me presvedci o tom ze i pod Win to lze
udelat ciste??

Martin Zeidler
----------------------
mailto:pepa_z_hongkongu@wo.cz
http://kopec.yo.cz
http://zeidler.web.worldonline.cz



This archive was generated by hypermail 2.1.2 : 04. 09. 2001, 05:58 CEST