Viirus salvestab originaalse faili alguse ja asendab selle viiruselise koodiga. Igal käivitusel kutsutakse seetõttu originaali asemel välja viiruseline kood, mis kontrollib, ega viirust juba mälus pole: kui on, siis käivitab kohe salvestatud originaalse programmi; kui pole, siis esmalt loeb end mällu ja käivitab alles seejärel algse programmi. Kolmandaks, EXE-faile nakatatakse programmi algusaadressi ümbersuunamisega viiruselisele koodile, mis on harilikult lisatud programmifaili lõppu. Ülejäänud tööpõhimõtted on tal samad, mis COM-faili viirustel. Kui viirus on mälus, siis seal haaratakse tavaliselt enda kätte mõni failidega opereerimisega tegelev katkestus, mis asendatakse faile nakatava programmilõiguga. Algne katkestus muidugi salvestatakse ja kutsutakse peale nakatamist vahelejäämise vältimiseks välja. Nagu näha, tegutsevad viirused
6 Edaspidi alustab programmi käivitumisel tööd viiruseline kood, mis kontrollib viiruse olemasolu mälus. Kui viirus on juba mälus olemas, käivitatakse originaalne programm. Viiruse puudumisel aga loetakse selle kood mällu ning alles seejärel käivitub algne programm. 3. Kolmanda viisi korral nakatakse EXE-faile suunates programmi algusaadress viiruselisele koodile, mis on enamasti programmifaili lõpus. Edasised tööpõhimõtted on samad, mis COM-faili viirustelgi. 1.6 Mitteresidentsed failiviirused Mitteresidentsete failiviiruste erinevus residentsete failiviirustega seisneb peamiselt selles, et nakatav kood ei asetse mälus, vaid käivitub ainult nakatunud programmifaili käivitamisel, otsides kettalt nakatamata faile ja nakatades neid. Kuna programmifaili töö
Originaalse faili algus salvestatakse üle viiruselise koodiga. Edaspidi alustab programmi käivitumisel tööd viiruseline kood, mis kontrollib viiruse olemasolu mälus. Kui viirus on juba mälus olemas, käivitatakse originaalne programm. Viiruse puudumisel aga loetakse selle kood mällu ning alles seejärel käivitub algne programm. Kolmanda viisi korral nakatakse EXE-faile suunates programmi algusaadress viiruselisele koodile, mis on enamasti programmifaili lõpus. Edasised tööpõhimõtted on samad, mis COM-faili viirustelgi (Heinaru, 2012). 1.4. Mitteresidentsed failiviirused Mitteresidentsete failiviiruste erinevus residentsete failiviirustega seisneb peamiselt selles, et nakatav kood ei asetse mälus, vaid käivitub ainult nakatunud programmifaili käivitamisel, otsides kettalt nakatamata faile ja nakatades neid