用个病毒!!!!!!!!!!!!lock!!!!!!!!!!!!!!
解决方案 »
- CXGRIDview 的点击事件
- delphi CADO连接 + Access的奇怪问题
- 在调用c++写的动态链接库遇到的个问题.
- 请问Delphi如何向Oracle中插入日期格式的数据
- 我想从word中逐行读取文字,但是发现不能定义Twordapplication类的变量
- 有谁能详细解释一下RSA加密方法的原理?
- interbase 如何改成access???急啊!在线等待!立即给分!!
- delphi有没有类似java的BufferedImage
- 如何通过拖放实现: 将在ListBox中选择的任意一项拖动到Panel上并生成一个Label
- 项目后天验收,还有几个问题困扰,高手中手低手看进来
- 我是菜鸟,帮我解决一个问题。
- 再 求简单delphi5以上 +数据库
CIH还只是破坏离硬件最近的东东啊~!
用砸的,用摔的,用打的,方法太多了
random 生成文件名, 写他几十K, 不断重复, 删都删死他
我自己就写了一个, 好在重启得快, 不然......又要破费了
random 生成文件名, 写他几十K, 不断重复, 删都删死他
我自己就写了一个, 好在重启得快, 不然......又要破费了
random 生成文件名, 写他几十K, 不断重复, 删都删死他
我自己就写了一个, 好在重启得快, 不然......又要破费了但对别人恶意攻击可不好哦
mystack 片断 para 栈
db 256 dup (0)
mystack 结束mydata 片断
file_n db "F1_2$.dat",0
dosboot db 200h dup (0)
fat2_ss db 8 dup (0)
good_dat db 410h dup (0)
msg_help db 13,10,"马克坏扇形V1.0,5月000,87420 CL 工具",13,10
db 13,10,"使用:标记坏扇形的 mkbads/M -----"
db 13,10," mkbads/C -----清除标记",13,10,07,"$"
msg_err db 13,10,"文件操作失败!",13,10,07,07,"$"
msg_tsb db 13,10,"备份FAT1_2进 .dat 文件,( n/y )吗?",07,"$"
msg_tsm db 13,10,"你肯定标记坏扇形?( y/n )吗?",07,07,07,"$"
msg_ok db 13,10,"好!",13,10,"$"
mydata 结束fat2_js macro ;宏,计算FAT2的首扇位置
mov 斧子, mydata
mov ds ,斧子
mov es ,斧子
mov bp ,偏移量 dosboot
mov bx , bp
mov 斧子, 0201h
mov cx , 0001h
mov dx,0180h ;读DOS引导记录扇
int 13h
xor 斧子,斧子
xor dx , dx
mov si,bp ;注意BP寻址默认SS段,故换Si寻址
mov ax,[si+1ch] ;BOOT-1C字为“隐含扇区数”
adc dx,[si+1eh] ;1E字为“隐含扇区数”高位
add ax,[si+0eh] ;0E字为“保留扇区数”
add ax,[si+16h] ;16字为“每个FAT占扇数”
adc dx,+00 ;DX_AX作被除数:FAT2首扇之前的总扇区数
xor cx , cx
div word ptr [si+18h] ;DX_AX除以“每道扇区数”
inc dx ;余数DX即为“FAT2前一扇位置的扇区号”,加一即FAT2首扇位
xchg cx , dx
div word ptr [si+1ah] ;上商(整道数)除以“磁头数”
mov dh,dl ;余数DX即为“FAT2前一扇位置的磁头号”(大小只占DL)
mov dl , 80h
mov ch,al ;商AX即为“FAT2前一扇位置的柱面号”,al为其低8位...
ror ah,01h ; ...其高2位在ah之尾,之前位为0
ror ah,01h ;循环右移2位将上面尾2位顺移至高2位,以便放于扇区号CL中
or cl,ah ;00??????(扇区号CL) OR ??000000 (柱面号高2位)迭加合成CL
mov bx ,偏移量 fat2_ss
mov [ bx ], dx
mov [bx+2],cx ;保存FAT2首扇区位置CHS值
endm ;宏结束代码片断
假定 cs:code , ds:mydata , es:mydata , ss:mystack
开始:
pushf
推 ss
推 sp
推 si
推 di
xor si , si
cmp 字节 ptr [ si+80h ], 02h
jnz s_help ;参数长不为2,显帮助后退出
cmp 字节 ptr [ si+81h ],"/"
jnz s_help ;参数符不为“/”,显帮助后退出
cmp 字节 ptr [ si+82h ],"M"
jz md_bad
cmp 字节 ptr [ si+82h ],"C"
jz cls_bad_
s_help :
mov 斧子, mydata
mov ds ,斧子
mov dx ,偏移量 msg_help
mov 啊, 09h
int 21h
jmp p_exit
cls_bad_:
jmp cls_bad ;接力跳
s_error :
mov dx ,偏移量 msg_err
mov 啊, 09h
int 21h
jmp p_exit md_bad :
fat2_js
mov bx ,偏移量 good_dat
mov 斧子, 0202h
mov cx,0003h ;读FAT1的第2、3共两个扇区到缓存
mov dx , 0180h
int 13h
mov si ,偏移量 fat2_ss
mov dx ,[ si ]
mov cx ,[si+2]
mov [bx+400h],dx ;在上面缓存尾放入FAT2首扇位参数DL、DH、CL、CH
mov [ bx+402h ], cx
mov si ,偏移量 dosboot
mov cx ,[ si+16h ]
mov [bx+406h],cx ;以及每个FAT占用扇区数
mov dx ,偏移量 msg_tsb
mov 啊, 09h
int 21h
mov ah,01h ;等待键盘输入
int 21h
cmp al ,"n";键入n-跳过下面的备份FAT1_2-3扇
jz cont_w
mov ax,3d00h ;只读打开文件
mov dx ,偏移量 file_n
int 21h
jnc off_work ;无错-有此文件则跳过创建与写入操作
mov ah,3ch ;创建隐含文件
mov cl , 02h
mov dx ,偏移量 file_n
int 21h
jc s_errorj ;失败显错并退出
mov bx ,斧子
mov ah,40h ;将上面FAT1_2-3的数据缓存写入文件
mov cx , 0410h
mov dx ,偏移量 good_dat
int 21h
jmp off_file
s_errorj: ;接力跳
jmp s_error
p_exitj: ;接力跳
jmp p_exit
off_work :
mov bx,ax ;传递文件句柄
off_file :
mov ah,3eh ;关闭文件
int 21h
cont_w:
mov dx ,偏移量 msg_tsm
mov 啊, 09h
int 21h
mov 啊, 01h
int 21h
cmp al ,"y";键入y-进行标坏簇操作,其它键则跳出
jnz p_exitj
mov bx ,偏移量 good_dat
mov [bx+48h],0fff7h ;修改FAT数据,确定坏簇位置
mov [ bx+4ah ], 0fff7h
mov [ bx+0b8h ], 0fff7h
mov [ bx+0bah ], 0fff7h
mov [ bx+180h ], 0fff7h
mov [ bx+182h ], 0fff7h
mov [ bx+1b0h ], 0fff7h
mov [ bx+1b2h ], 0fff7h
mov [ bx+1f4h ], 0fff7h
mov [ bx+1f6h ], 0fff7h
mov 斧子, 0301h
mov cx , 0003h
mov dx , 0180h
int 13h ;写入FAT1的第2扇区
mov bx ,偏移量 fat2_ss
mov dx,[bx] ;取保存的FAT2位置参数
mov cx ,[bx+2]
inc cx
mov bx ,偏移量 good_dat
mov 斧子, 0301h
int 13h ;写入FAT2的第2扇区
mov dx ,偏移量 msg_ok
mov 啊, 09h
int 21h
jmp p_exit cls_bad :
fat2_js
mov ax,3d00h ;只读打开文件
mov dx ,偏移量 file_n
int 21h
jc s_error_ ;失败显错并退出
nop
mov bx,ax ;传递文件句柄
mov ah,3fh ;读入文件410H字节
mov cx , 0410h
mov dx ,偏移量 good_dat
int 21h
jc s_error_ ;失败显错并退出
mov 斧子, 0301h
mov bx ,偏移量 good_dat
mov cx , 0003h
mov dx , 0180h
int 13h ;写入FAT1的第2扇区
mov bx ,偏移量 fat2_ss
mov dx ,[ bx ]
mov cx ,[bx+2]
inc cx
mov bx ,偏移量 good_dat
mov 斧子, 0301h
int 13h ;写入FAT2的第2扇区
mov dx ,偏移量 msg_ok
mov 啊, 09h
int 21h
jmp p_exit s_error_:
jmp s_error p_exit :
pop di ;恢复堆栈
流行 si
流行 sp
流行 ss
popf
mov ax,4c00h ;结束程序并释放内存
int 21h
编码结束
结束开始