HDVIRUS 防爆墙防护程式 V1.00
此软体 仅用于 DOS 之下
设计的理念是不可写入任何程式到硬碟磁区 以达到保护的效果
.MODEL SMALL
.286
.STACK
.CODE
;───────────────────────────────────────
MyPSP dw ? ; 本程式在执行时的PSP节段值
IntSP dw ? ; 被中断程式的SP值
IntSS dw ? ; 被中断程式的SS值
Sys13hoff dw ? ; 原来的磁碟机中断
Sys13hseg dw ?
Signature db 'PROTECTHD$' ; 这个字串被用来作为是识别字串
; 在检查程式是否已经常驻时有意义
;───────────────────────────────────────
ActiveHDD PROC far ; 这段程式用来挂在13h中断下
test dl,080h ; 是否想动硬碟机的主意
; 因为硬碟机的编号必然是
; 80H、81H,因此测试 DL
; 的最高位元 bit 7
jz TO13h ; bit 7 为零表示是软碟机
; 所以将控制权交给 BIOS
IsHardDisk:
cmp ah,3 ; 是否想写入磁区
je possible
cmp ah,5 ; 想格式化硬碟?
je say_error
jmp TO13h
possible:
cmp cx,1 ; 想修改分割表?
jne TO13h
cmp dh,0
jne TO13h
say_error:
mov ah,3 ; 设定「磁碟机防写保护」
; 的错误码
push bp ; 建立堆叠框架
mov bp,sp
or word ptr ,1 ; 使得中断结束后
; 进位旗标 CF ..
访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容