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