这是在 20CN网络安全小组第一代论坛 的论坛 编程破解 中的主题 关于NTFSBOMB(转)


要查看这个主题,请使用这个 URL:
http://www.20cn.net/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic;f=5;t=000238

ucr (编号: 2804) 发表于 :
 
NTFSBOMB

程序功能:
NT/2000下的硬盘炸弹,程序一旦运行便将硬盘锁死。
即使用A盘CDROM也无法引导硬盘。

程序说明:
以往的一些DOS,WIN9X下的硬盘炸弹到了NT/2000下
毫无用处。此程序通过与NT/2000下特有的驱动通讯,实现
了MBR的读写,并将分区表加密。


上面是俺主页上的工具说明,本来没打算把这个放到主页上去,可见有人发了个9X下
的硬盘炸弹,索性就把这个放上去充数,这下麻烦来了。接连好几次收到MAIL问解法。
下面就把俺回复的MAIL贴上来。


你好:

这个比较麻烦,随便找张软盘用DEBUG的L命令把A盘的WIN 9X的BOOT调出来然后
把软盘结构改一下,让启动时就写硬盘0面0道1扇区。

DEBUG
-L100 0 0 1
-A
0D73:0100 MOV AX,301
0D73:0103 MOV CX,1
0D73:0106 MOV DX,80
0D73:0109 MOV BX,200
0D73:010C INT 13
0D73:010E
“回两下车出现 - 提示符”
-W100 0 0 1
-Q

然后用此盘启动机器,启动完后,即可用正常的WIN 9X引导盘引导了。如果硬盘数
据不重要的话这时候即可重新分区,格式化。如果硬盘数据比较重要的话,这个程
序在硬盘的0面0道2扇区做了已经加密的DPT备份,将它读出来解密写回去即可。加
密方法是非常简单的异或方法,与0x926异或即可,(因为是字节所以参加计算的
只有0x026)。

方法如下:

用正常的WIN 9X引导盘引导,输入DEBUG

-A
0D73:0100 MOV AX,201
0D73:0103 MOV CX,2
0D73:0106 MOV DX,80
0D73:0109 MOV BX,200
0D73:010C INT 13
0D73:010E INT 3
0D73:010F
-G

AX=0050 BX=0200 CX=0002 DX=0080 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0D73 ES=0D73 SS=0D73 CS=0D73 IP=010E NV UP EI PL NZ NA PO NC
0D73:010E CC INT 3
(CF位为‘NC’表示没有进位读成功 )

这时已将备份读到了当前内存200处,为了便于解密另起一块内存区写解密代码,DPT
的1C2代表的是分区标志,在写盘时已经设置为5(扩展分区)所以加密是从1C3开始的,
此时已经读到了内存200,那么就应是3C3,为了保证分区完整,抛去了55AA标志是49个
字节,16进制就是3B了。下面做一个循环依次取出内存再次异或便完成了解密。

-A500
0D73:0500 CLD
0D73:0501 MOV SI,3C3
0D73:0504 PUSH SI
0D73:0505 POP DI
0D73:0506 MOV CX,3B
0D73:0509 LODSB
0D73:050A XOR AX,926
0D73:050D STOSB
0D73:050E LOOP 509
0D73:0510 INT 3
0D73:0511
-G=500

AX=094C BX=0200 CX=0000 DX=0080 SP=FFEE BP=0000 SI=03FE DI=03FE
DS=0D73 ES=0D73 SS=0D73 CS=0D73 IP=0510 NV UP EI PL NZ NA PO NC
0D73:0510 CC INT 3

解密完需再将DPT的1BF和1C2处重新设置才可正常启动。

-E 3BF
0D73:03BF 00.1
-E 3C2
0D73:03C2 05.7
-

完成以上操作后,将内存中200数据写回0面0道1扇区,重新启动计算机。硬盘全部
数据就全部恢复了。

-A1000
0D73:1000 MOV AX,301
0D73:1003 MOV CX,1
0D73:1006 MOV DX,80
0D73:1009 MOV BX,200
0D73:100C INT 13
0D73:100E INT 3
0D73:100F
-G

病毒
 






Powered by Infopop Corporation
UBB.classic™ 6.5.0
NetDemon修改版 1.5.0, 20CN网络安全小组 版权所有。