The Form Virus

B85506043 賴勝華

B85506050 江至軒

這個來自於瑞士的開機型病毒類似Music Bug病毒會發出噪音,並感染軟碟或硬碟的開機磁區,但是最後的目的是相同的。

Form開始執行,它會在RAM的頂端保留2KB大小的空間並將它的後一半從磁片讀出。病毒並不會因讀取錯誤而重新執行讀取的命令,只是將電腦停在那兒。這表示用受感染的磁碟開機經常會造成電腦的停滯,因為這有點類似TimeOut Error。病毒接著讀取原開機磁區且嘗試感染硬碟。

Hard Disk Infection

Form會讀出Partition Table並找出Active DOS Partition。然後讀取這個PartitionDOS開機磁區不論是否被感染過了或是否1Sectorsize大於512 Bytes。如果是512 BytesDOS的開機磁區會被寫到這個Partition的最後一個Sector而病毒的後一半會被存到前述的地方。最後,將病毒的前一半存到這個Partition的第1Sector(就是原DOS Boot Sector)。由於病毒沒有配置被自己站掉的Sectors這些區域仍有可能被寫入其他的資料。但這只會在整個Partition都被填滿時才會發生。

Activation Day?

在病毒感染硬碟後掛上Int 13h,但如果現在的日期不管是哪個月份的24號的話,病毒會把Int 09h給掛上這是鍵盤的中斷。這新加入的Int 09h Handler會再每次敲鍵盤時發出喀撘聲一種無害但是惱人的音效。

The Int 13h Handler

form病毒只會對在AB0磁軌的讀取要求加以截斷在所有的情況下控制權會直接移轉給原來的Int 13h Handler。這通常會造成第一次街觸到此病毒的磁片受到感染。

磁片以標準的方式被感染,無論是那一種密度的磁片,只要磁區的大小是標準的512 Bytes,病毒都會嘗試去感染。如果是硬碟遭受感染,病毒會先去檢查磁區的大小是否為512 Bytes及啟動磁區是否已受感染。然後後半部的病毒碼找出一塊沒有被佔用的Cluster,在FAT裡面把它標記為BAD並且把原來的啟動磁區搬走。

這是啟動磁區病毒常有的行為事實上關於Form病毒的文字敘述相當少,除了下列它所包含的訊息之外:The FORM-Virus sends greeting to everyone who’s reading this text.FORM doesn’t destroy data!Don’t panic!Fucking go to Corinne.

Form Removal

消毒磁片最簡單的方法就是乾淨的防寫磁片開機,用DOSCOPY指令把資料或執行檔轉移然後重新格式化。此步驟在乾淨的DOS環境下完成是重要的。不要用DISKCOPY這指令,因為它會把受感染的磁片完整地拷貝包括在磁片上Logical Sector 0的病毒。

Form病毒可用移除Music Bug類似的手法將它從啟動硬碟分割區給移除就是把原來的啟動磁區搬移出來再寫回去。FAT可能須要稍微修改去復原遺失的Clusters,但那不是絕對必要的並且只有在解毒軟體認得出Form病毒才可行。

Finally……

對任意的啟動磁區病毒必須先執行才能散佈和造成傷害。電腦只有在你用受感染的磁片開機才會被感染病毒。記住若以後沒有需要的話,我們絕不要把磁片留在磁碟機中。

ROM Start-up code總是先嘗試從軟碟開機再試硬碟,假如受感染的磁片在磁碟機中,病毒將會被載入記憶體。