荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: pleasant (哈哈~~~~~~~~~), 信区: Virus
标  题: 如何用 DEBUG查看文件有无病毒
发信站: BBS 荔园晨风站 (Sat Apr 21 20:20:22 2001), 转信

 如何用 DEBUG查看文件有无病毒

debug
-d0:7b6 l2
0000:07B6 00 F0^^^^^ 若不是这个值那就很有可能中了开机型病毒, 若是你有挂
一些硬碟的驱动程式, 或你的硬碟不是IDE 的, 或是你有挂一些防毒程式, 那又另
当别论。

-a
1234:0100 int 21
1234:0102
-t
追 int 21h, 除非你组语有相当的功力, 否则你是看不懂的, 这就不须我多说了若
是你不小心中了开机型病毒, 那么可以用 fdisk/mbr & sys c: 来解,但是在解之
前请先试试, 用软碟开机, 进入 c: 再 dir, 看一切是否都正常, 若是才可用
fdisk/mbr & sys c:, 否则可能是类似 monkey 类病毒,或是 partition table
or/and boot sector 被编码, 那么就乖乖的用防毒程式来解,若是你的
partition 或 boot 毁了, 那么可以写一个常驻程式, 拦 int 13h,只允许
partition sector & boot sector 的写入, 然後你当初怎么造 partitiontable
and boot sector 你现在就可以用同样方法, 如∶你当初是用 fdisk 来做
partition table, 那么你常驻此程式後就可以执行 fdisk, 来自己分割重造一份,
 用 format 可以重造 boot, 但是你的资料不会不见, 因为你只允许那两个磁区写
入, 其它的都不会动到当你试了许多工具软体都不行时才可用此法平时执行 mem
就要记住各项数值, 如果有一天你重开机後执行 mem 有数执不一样的话就有可能
重毒了,使用软碟时, 可以把手方在外壳上面, 感觉一下磁头是否一直换轨?然後
 dir个几次情况还是一样得话表示有可能中标啦, 这种感觉多找几支开机病毒来练
就会了, 我都是摸著外壳然後 dir a:/b: 来判断是否中开机毒, 由其是有隐藏能力的毒更
明显。

2. type FDISK /MBR for making a new partition table最近这版常有人如此说,
 但这是错误的!FDISK/MBR 并不会动你的partition table! Not even a bit !它
只会盖掉你的Pre-Boot 程式!在硬碟最最最开始的磁区叫MBR (Master Boot
Record), 这是MicroSoft的正式称呼! 有些人叫它Pre-Boot 磁区或Pre-Load 磁区
.

MBR (512 bytes) can be divided into 3 parts:

(1) 前面446 bytes 为开机程式(即Pre-Boot程式), 实际只用约200bytes
(2) 接著的64bytes就是partition table, 每16bytes代表一个logical HD
(3) 最後2 bytes 一定是 55 AA (十六进位)

FDISK/MBR 就是把前面446 bytes 换成乾净的Pre-Boot 程式!它绝不会动後面的
66bytes!!!因此有两种情形不能用这招:

(1) 你装了DOS 以外的系统或装了Multi-Boot之类的东东
(2) 中了改变你partition table 的病毒; 此时用乾净的A: 开机反而看不到C:,
只有用C 或有同样毒的A:开才看的到!

The following small program can read the MBR: (Under DEBUG)

DEBUG
a100
mov ax,0201
mov bx,0300
mov cx,1
mov dx,80
int 13
int 3
(Hit ENTER only here)
g=100
d4be (show the partition tables)
d300 (the pre-boot program, U300 to see the instructions)

如果把AX 的0201改为0301表示要把memory中的512 bytes (300h-4ffh in
thisexample)写入硬碟的MBR. 这动作很危险,最好要有懂一点组语的人在身旁壮胆
!顺便回答下一篇MIRROR 的问题:MIRROR (在 DOS 5.0 中也有) 有很多用途, 其中
MIRROR/PARTN 可用来制出万能

解毒济:

(1) FORMAT/s A: 造一片可开机的A片(不是那种A..:-)
(2) Copy UNFORMAT.COM (或.EXE?忘了)到该片
(3) 在C:碟下此命令: MIRROR/PARTN

此将造出一个好像叫MIRROR.FIL 的档案, 它会问你要放那里, 回答A:此档会包括


a. MBR

b. BOOT sector

c. the two DOS files (通常是 IO.SYS, MSDOS.SYS )

它不包括FAT, 因FAT存起来以後也没用的!当你中了开机形病毒时(或只是怀疑),
用此片开机, 然後下此命令:UNFORMAT/PARTN这样它就会把MBR+BOOT+IO.
SYS+MSDOS.SYS 恢复原状!

!!! 注意该A片只能用在该机器! 你可不能拿去别台机器用! (除非你确定它们是有
相同的partition.!!! 很好用吧? 是的, 可是只要硬碟有一些小问题,
MIRROR/PARTN 就不做事:-(((这可能是DOS6.0 以後却把MIRROR 拿掉的原因?So, I
 always save the MBR via the small program mentioned above.And the
BOOT+IO.SYS+MSDOS.SYS can be cleaned by "SYS C:" command ifyou start the
 machine with a clean diskette.


--
※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.34.202]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店