A polimorf vírusok hasonlítanak a közönséges kódolt vírusokhoz, azzal a különbséggel, hogy a dekóderük is változik. Az alkalmazott technikák nagyon sokfélék, lehetséges az utasításokat kicserélni egy ugyanolyan eredményt adóra, lehetséges más regisztereket használni, utasításokat felcserélni, és a lényeget nem változtató utasításokat beszúrni. A jó polimorf kód ezt mind megcsinálja.
A polimorf jelentése sok alakú. Ez a ``sok'' jelenthet akár végtelent is. Ilyet nagyon egyszerű csinálni: tegyük fel, hogy a vírus NOP (funkció nélküli) utasításokat szúr be a vírus elejére! Ha a NOP utasítások számát nem korlátozzuk, akkor számosságú példány lehetséges. Ennél többféle alakja nem lehet a vírusnak, mert a létező összes bináris fájlok számossága is csak ennyi. (Holmi fájlrendszerek gátat szabnak a gondolat szárnyalásának, ugyanis 2 GB-os, 4 GB-os, vagy más felső határokat adnak a fájlok méretének.)
A különböző vírusalakokat szokás mutációknak nevezni. Ez a mutáció azonban a biológiai mutációval szemben nem véletlenszerű, és az eredeti vírussal funkcionálisan ekvivalens (feltéve, hogy a vírusíró nem rontott el valamit). A mutáció szó másik jelentése az emberek által átírt vírusváltozat, és az előzőkhöz nincs semmi köze.
A mutáció elősegítésére ``mutációs motorokat'' hoztak létre, melyek tárgykódként kapcsolhatók hozzá a vírushoz, és szubrutinként meghívva őket azok egy kódolt, és változó dekóderű példányt tudnak létrehozni a vírusból.
Az antivíruscégek emberei a programjuk ellenőrzésére nagyszámú példányt hoznak létre a polimorf vírusokból, hogy azok között mindenféle változat megtalálható legyen. Ez ellen némely vírusok ún. lassú polimorf technikával védekeznek, ami azt jelenti, hogy a kódolás/dekóder csak bizonyos feltételek teljesülésekor változik meg, így lehet mondjuk, hogy egy adott napon minden vírus egyforma.