广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 4417 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
upside 手机 葫芦墩家族
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖 优秀管理员勋章
头衔:反病毒 反诈骗 反虐犬   反病毒 反诈骗 反虐犬  
版主
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[asm][范例] HDVIRUS 防爆墙防护程式 V1.00
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 可以看到全部内容




爸爸 你一路好走
献花 x0 回到顶端 [楼 主] From:台湾 | Posted:2006-12-09 18:23 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.052656 second(s),query:15 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言