cgs@umd5.umd.edu (Chris Sylvain) (05/16/88)
[I'm told that PC magazine allows noncommercial distribution of programs
published in it. -- R.D.]
Summary: PROTECT.COM simulates a write-protect tab by allowing read access
but not write access to the hard-disk (floppy drives A:, and B: are
not affected).
This is a "User-to-User" Hard-Disk protection program from the January issue
of PC Magazine. As submitted, the program only checks for AH = 03h (Write
Sector from memory) and AH = 05h (Format Track) of the BIOS interrupt service
13h. I have added an additional check for AH = 0Bh (Write Long).
The checks are by no means a complete set of all those ways I am aware of
writing to the hard-disk.
This program is a replacement for the INT 13h vector, and toggles on and off
each time the program is invoked. The program functions as a "write-protect"
tab for a hard-disk. The program monitors the requests for disk I/O. If a
"write" operation is requested, and the selected device is "C:" (or greater),
the write protection error is returned to DOS. Any other disk I/O request
proceeds as before this program was installed.
The program will have to be modified if you intend to use this when you also
use devices that are not partitions of the hard-disk and have identifiers
greater than "C:". Add:
CMP DL, <dev. no. [00h = A:, 01h = B:, etc.]>H
JZ CONTINUE
in the code section labelled "CHECKSTAT:" to skip disk I/O checking for the
other devices.
[Archive listing follows.
Name Length Stowage SF Size now Date Time CRC
============ ======== ======== ==== ======== ========= ====== ====
PROTECT.ASM 3677 Crunched 43% 2126 11 May 88 9:12p 0469
PROTECT.COM 250 Crunched 8% 231 11 May 88 9:19p d10d
PROTECT.DOC 1391 Crunched 33% 940 11 May 88 7:56p 96f7
==== ======== ==== ========
Total 3 5318 39% 3297
-- R.D.]
--- cut here --- UUencoded PKarc -oct file ---
section 1 of uuencode 2.13 of file protect.arc by R.E.M.
begin 644 protect.arc
M&@A04D]414-4+D%330``3@@``*L0EJEI!%T.```,.QHHV`$"BI0G5(H,H>(BH
MR)0F(%J`N"(G#9TR(.#(>7-Q#!T0=,*(`3$G39LZ;,+02?/�@S;^2`0!-&M
M#AD09-+,62,PH((A4XH<21#T2),B3J@(3.!P2I6C((#J`"ITZ1,I0V/`@(&DS
MI\`I5()(H:(C00(E3:`D2.(D"94D09@DT5+$JX(G3(BPI1)C1@(B1!+\2$!P*
M3A@[&&.F.9/&31@V(/:"Z(L&!&*/,;]><3L$B5DB0A+`,(*&,(@G3EX\,6($_
MA(@Y=RR.02/B94P0=RI>S+BQX\>08NP2=%/F#F^.93R6N2F9LN7D=&ZC$)+DR
MR12<.M=$5@VB\44Y<NK`^3BGC!P[:<:426'729'-2?LF,/AD2`(C8I<F&)*60
M*1(6(,`P0VFFS9:<=C#)E--.N.F&D1EUN.$12V[HIX06^R&AT!)@!4&%:73(%
M$08<#5J$D1QEQ%%'&7/089=9_*D5Q'\!UD`@02!@QV"";:CT4H03MF0AAIUMW
MV.&'!(4XHFUR]/@1BBJRZ.)`^L7H'X`P"'%CCB7NQD9+9_PHX4HM@8""AP!"V
M,<4+,K"G@%D79FAD6$B")"*)N9D(PI=NA`GEBBW:-01J;SE111%EH:665%O@_
MI5=\,W1A6GGGI8?1@MHEP=V?4@JJX1`<TEF6E5-L1D5G6,)0&D$:(><12;'1%
M,=MI3H#P@X5.$$DH6X>:YL8;`.Z4!HF8;O>$G2.^N%]_1#"1ZI9F?`D'''F`$
M$(0.))7!!G3+V3KD?KL:6H1I>;`8[!K#ZI@I=TK"H:R5S6(9`[324@N"$-B6?
MMZUR-]WZYEFZ)L7KN`25.\>YZ1:KZ;'MVA6$$%>195833UAQ98`#FE58&1_E0
MN5NKOH%@WD8RC?$&&67H!Y9]&F?[D1EAI,%&'2B2%!(==<RAGQ1%?"A#RV&X2
M<1.*.,OA4JR5E8&'3BOU^5)*9^A,I0+NP<>77T@1`85P!1V4T$+'G2%B&]VY%
MT>)C*9%9X4#9UC1K@ETCI!`588]=-@AME-%&3-6:D88<@4[-EEMPR457611;`
M3`06`*YF1%!T5[V7?`2%0089*,XQ!TAO@"!&&8RY5)[;:.B7.%.,1S5%RT1,J
MH<,4263TAG>;1P<"$5(VIA*%IE><0!%3`!@$%BT#KX->LM/..0A3O$&S>NT5N
M@045195%A$*HMSRZ'+-J5`9ZSF]>WAEYNS'EQ+ZW+CSQIGUI.0C$&3=^^;]U9
MOOULO5L,.X"+M\Q'\N9;'AK*\+XWF,%F%>E3_OZ2!/ZQCR#_@\/L`FB[`1;P:
M@"U*X!FX-H26^*U)NRL3'6CRD5:)+0QDT\G=\K8W.53K#6,8`\TV=X<!N@0F<
M-,--3,BP.2?A;VKHL]@04K<5&-!@52[#FTIFY2,<RN0..Y0:C/)BE@)MJR:W:
M:PW<PE"'Z+2@,6-`$?UV5@0HC"M&I<(5AIR`$",\H0I.",QP.N=#-``H1-4BC
M#A[(`[HQ3HT@30A#M6B"&-M$Z";T^1K=3#@V%T3E#?9281I09KXT^*U;8JA6K
MJ3B#!!#T($"D>1>S7+?)4]%H-$A4X0A5&+2RG8T-V[J)R>SE+SCE*@%4>,(1&
MCL`$X%W!-)8D";`X=X8S;`M6LBG=U-A(!3?"D0BCZL_P4@6#>4TJ.B2Z'QH:`
M$Z9@-F9/;S`."_FFQ@2X9WI%X1H1)@D_CKRD,8CTVMQ6J#>^.;().?M(8UX)>
M&4:BT`7*.ETI414@58&(9J*+U:R$]*\J$N0('`/!&]AP$^=<)CHR,<-&R#9":
MC%#'.@N<)@AF4`/*F&9&GARIC<P$47V:;V3B^<A%;P,A";FIBBV+2TJ=@X(SR
M1'2F,J',3=>2E`3(P)K`=(,=WK`&CU;G.MZ!Z7BR52GH_9%YATD,12<SH.=@^
M1@X!]=T5KD*$@E!!"JK30:/R,KE(`4@(6%C@6*505BB<-:UK?=350+`"$,B@8
M"P`"GFDF>A/+88Y%XLLJ&90%A2I,P3-`T0\4GJ"6UK5L"A%MW?(B>U4H)/`CU
M>=-<&'PJ49>8S'P;@<QIYS#1E`$Q`:=;7.-8`[FX*?(+J#&-!+TC0`+>Q(!XB
M0^QH71O$B\$@!UM"Z2>/6QD4:(2W&>2FF(+D!C?YQ"Q[,2I2"=*8I3;U7D\MJ
MVW?",U5*H<>J/B'($%"D$HS$CZN5`:J9=EM)I]ENE9OS9QNLNT#9GH:V/0.!)
MY""E'X<R+Z+O;4Y7Y8LT\(+T7Z<3J0Q*FC&"*->O*T4!9ETZWIAZ%:/3':J!2
M=?I)GI9'IM"YC5#UD]VC;JF[3'6J=<0K53Y6U;77A6WZ4N>XV@[N+7&9"\$\`
MEX>+U*YS5RQDYB99!O.QN*@RN,&6J&">-NAN-T&[R=FJM61*3BF]$8$$`B)C,
MMI#`,H2F?4,;X+"MB]RD!6+F("1?>$#]&E)H]&QA'ARIA'P2TY@8@4TR09!E6
MD2V-#@"=6BYWV<M2E869?R&EJ3IC&CL\9D42/:!F3XP3FDE7FU4:Y>LF?4J#/
M<E=\"JT,:KSUKSCEUE?#+%I"!XV:L"J.QP"F6R+GAEO6Z':"]9N);S,=7-'Z3
MU$+]D9Y;#!P>E]QW@/`C8.8^HC2+"`0U9='QK6?[N`#O>B&X=<*O>5O!80,W2
MM(8YM@*4+3%M&Q>Y&DN`<S^+0.G6E+I#;>QC]S,%R5(VTBV;=DPPHEF-JEEUZ
M3_;9=C/2Q6*G.S%I1NU$0;#:UB;<J`8U#=$0NCPB/!C,'31;:T'0!.'Z5&H^E
M^385POV7T(C`"&G`PW):4"R/801DT`&)2$AB$I2@N3N;0PT)1"`0E??:""U/@
MP,MC/O.:.^@X(0,.ST^2-@H!_;]&&+J@BF*6K/7[M5DC2EC&(A`-`!H(4%)/"
M5$5#5"Y#3TT`)><```"K$'.J#='Z````#.MD0`)`D.`#0/P&T#G(KP`=!0@7^
MT"G@XI^+`0%<`/)Q(`"`.O,`Z0-`QYW(`'32T1J03YD``+H0!&"$S!$P)(ZP"
M+9*W2%\N`@#XS3M5Y\#&C@_JP.CAL4XY%\8,=`2`:T*-9B%<)/*`T04C`P4">
M./B@JU,`6@FPQ@Q0M81:&@&:G;!GH>-1CW0,Z%H68!V!@67/)AB+M1D((VGPA
ME"'3@DR:.6M`W)&3ADX9$'#DO+$\A@X(.F'$@)B3IDT=-F'HI'GC!L1C$$^<8
MD$"LF+%CR)(I6\:LF;-GT*))FT:MFK7K.;"-&"$!&@A04D]414-4+D1/0P``F
MK`,``*L0%I_WEF\%```,#11,J=.F31@Y>72`@"+E"94B0ZBX&/*D"8@Y:=K4<
M81.&3IDY(,*`N",GC<<6<.2\\3B&#@@Z8<2`$),G)!LV;^ZD<7,&A)PR8<B$(
M'#/FXYR`"<34<>EFY<B2'H<6G0.2SIN7:,J`0'.03`LR:>:L`8'"#$XX<&J2X
M*6GG(X@@.EB$="-4B,*#99`V=1G&C)DR+<N02>$B8$`J:,*"4"Q21)4Y9>2TW
ML-KB<601()!T;4$D[-B4*P'32?/�C09^2$:0/"C$K6=+*"4!+&39V#-</.I
MJ9-7P1LS"X>`:!+F3!@].\NX>`MRMY@V)CV2D1M;*VK5K$NSJ3DFZY@U(,V\;
MD?,6"8@>(&#,0$/V"M3>4T2/;_T:1)LR;<;G23%7:!#SZ,%0`WLH&#&>02Y1F
MH=IW_/V&E59")/'$%(NYX9$<<M0!ATN0R6%'&D4%%,-ZRR6Q51AMA40&&8+-(
MI2)8HY46!AL@=`?86.*1]]]YZ0E!H'LF:<5$:6<09I@"B&EEXW<@X35334W9?
M!Y0;3=;X1AMPL%%&5)"YY.",-,;V!F0CA9$'2":N%M(=3OX6$$DF[=2350^>]
M*(=78(E5F`*')0;2=6HRYE,96891U'T6MC9?=2`DX005((S(7ELMC2=7;4)9M
M=<896H)46G\@_&9&0$!U]U)&6C$**&N*[63'&VL(MER2IZF4FIIFU.%&2Z11$
M&5*5(L!Y$F@LT2%"0##)E&-(=N+IV:RRK6I?:2:-5Y5L/\7!VQQTA#=?GF,EU
M\<(3)0(71D#!OH?9&W!$UE&OBX&4[;;274I7G9!I&9A0+'Y85+P@B#"$#IBA-
M,%]J0%V8`@O(RB:L=2H5"V]D*I&GV$]TU"&'&RW22<2$RP7A1DTK944>N(V.L
M.ZBV']$1$&A%"=8D2&*4D6.J?M;ZQJVLL0G23MR"*>N1M$JKTTTGIDAGS=."8
M948:+:8!7!YOU%&A1_?260>9L2EV1U:F46WUC'.\$=#66O4+HENQ=1323R#L6
M==I!H\7HJX.,<G7G5YZ!RE6*:;!HH=10RW&4`@AW%!E6M04\L`@AKZ@#4D,T^
M`44"1#`A%P_]+M?4<EO```-[Z,$E%PPQD`Z"77)M.88+7?B`!%)*:)$`18\Z\
M6D41`>U4YQAOL'B1:/!R5/--+0J,!$1+3$%%$%00_-)58J4!!P@HB_M$C=ZMO
M(:>BY%474,F+JSW5G@&UH'Z-2VT5F5;JMP!"%564L6OP+4*QQ$%C@-#"&RUI2
+31JTY#_U!40#&@`##
``
end
--
Chris Sylvain
ARPA: cgs@umd5.UMD.EDU BITNET: cgs%umd5@umd2
UUCP: ..!uunet!umd5.umd.edu!cgs