引用 | 编辑
upside
2006-12-09 18:23 |
楼主
|
||
x0
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 .. 访客只能看到部份内容,免费 加入会员 x0
|