Bizonyos vírusok esetén nem kell mást tennünk, mint törölni az állományt. Ha például egy felülíró vírus teljes megsemmisítette az eredeti tartalmat, akkor nem tehetünk mást. Akkor is törölnünk kell, ha mondjuk egy companion vírusról van szó, és ez a fájl maga a vírus. Végül akkor is törlés a tennivaló, ha a fájl valójában nem vírus, hanem trójai program, vagy féreg.
A legegyszerűbb esetben a fájl nem tartalmaz semmilyen fejlécet, csak a futtatható kódot. A DOS-világban ezek a COM típusú állományok. A vírusok például eltolhatják a régi kódot, és beszúrhatják előre a saját kódjukat. Ekkor a vírusirtás a program elején levő vírus kivágását jelenti.
COM fájlok esetén a leggyakoribb módszer, hogy a vírus a program végére másolja magát, és az első pár bájtot lecseréli egy ugróutasításra, mely a vírusra ugrik. Ha végzett a dolgával, a memóriában helyreállítja a program elejét, és utasítja a processzort, hogy ugorjon a program elejére. Az eltávolítás itt az eredeti bájtok megkeresését és visszaírását, valamint a vírus levágását jelenti.
A különböző formátumú fájlokat fertőző vírusokat az adott fájlformátum ismeretének birtokában lehet felismerni és kiirtani. Példaként nézzük a hagyományos DOS-os EXE programok fejlécét:
ofszet | jelentés |
00 | ``MZ'' azonosító |
02 | méret % 512 |
04 | (méret + 511) / 512 |
06 | relokációs bejegyzések száma |
08 | fejléc mérete paragrafusokban |
0a | min heap paragrafusok |
0c | max heap paragrafusok |
0e | SS |
10 | SP |
12 | ellenőrzőösszeg |
14 | IP |
16 | CS |
18 | relokációs tábla eltolása |
1a | overlay szám |
Ahhoz, hogy egy EXE fájlhoz hozzátoldott víruskód lefusson, a vírusnak magára kell állítani a fejlécben a CS és IP értékeket, melyek közül a CS 0 értéke a fejléc után állítja a szegmenst. A fejléc vége a ``fejléc mérete paragrafusban'' bejegyzésből számítható, amit 16-tal kell szorozni, ugyanis ennyi egy paragrafus. A vírus általában a vermet is saját kénye-kedve szerint állítja át, és a 02, 04 ofszeten található érteket az új mérethez igazítja.
A vírusölő feladata az előbbi esetben a CS:IP, SS:SP kibányászása a vírusból (benne kell, hogy legyen, mert az eredeti programot el kell indítani, és be kell állítani neki a megfelelő vermet, hogy nehogy lefagyjon), és az értékek visszaírása a fejlécbe, továbbá le kell vágnia a felesleges hosszt, és ki kell igazítani a méretet.
Az ellenőrzőösszegnek a világon semmi jelentősége nincs, ezért sok vírus használja saját fertőzésének a jelzésére. A vírus nem fertőzi meg azokat a fájlokat, amelyekben már benne van a jele. Mivel az eredeti értéket (ez 0 szokott lenni) a vírusölő nem tudja visszaállítani, megteheti, hogy kinullázza, de ha nem nullázza ki, annak az az előnye, hogy a vírus többet ezt a fájlt nem fertőzi meg.