電腦病毒是一些能夠自我復制的程序段,它能附在應用程序或系統文件的可執行部分。在宿主程序執行的某些階段,它能夠獲得執行控制權。按病毒傳染機理可分為兩大類:一類是系統引導型,它感染系統引導時的程序(系統引導扇區、操作系統的某些模 塊、設備驅動程序等); 另一類是文件型,它感染可執行的程序文件(即應用程序,含COM文件、EXE文件或覆蓋文件等)。 透過各種病毒的分析,可以發現病毒有三個本質弱點: (1)病毒的宿主目標必須是電腦系統的可執行程序,也就是說它們只能感染系統引導程序或應用程序。 (2 )病毒的感染總是以某種方式改變被感染的程序段,如果附在現存程序上,它會改變程序的開頭、結尾或程序中間的某些部分,如果它隱藏在磁盤的某些區,它會更改這些區的內容。 (3)如果病毒要存活、傳播, 那麼它的程序代碼必須能夠被執行,自學教程,即病毒必須把自身或一部分定位於宿主程序的特殊位置,以便獲得控制權。 實際上,現有PC病毒都是通過改變宿主程序的第一條執行的指令,5自學網,達到先於宿主程序執行的目的。對於COM 文件,病毒替換它的第一條指令(因為COM 文件入口地址固定為CS:100H);對於EXE文件,病毒改變入口指針(在文件頭);對於中斷服務程序,也類似地改變它的中斷向量。 因此,病毒破壞了被感染程序的數據真實性,准確地說是破壞了被感染程序第一條被執行指令的真實性。所以,對應用程序的校驗只要針對第一條執行的指令和附近的數據,既可保證准確性,又減少檢測時間。