Il Polimorfismo
Quando un virus è polimorfico, è in grado di cambiare più o meno la sua intera struttura ad ogni infezione.Così risulta quasi impossibile per un Anti -Virus di trovare un virus tramite una stringa tipica di un virus.Spesso l'intero codice virale è cifrato, e solamente una piccola parte resta decifrata, però basta per attivare e decifrare l'intero virus.Ovviamente anche questa parte cambia continuamente, così che non si può più parlare di una caratteristica tipica di un virus.Ci sono diversi modi per raggiungere ciò, comunque una persona che sa programmare un polymorphic engine deve avere abbastanza esperienza con l'assembly.Quindi forse è ancora troppo presto per spiegare in tutti i dettagli come funziona un engine simile.Come vedete, l'assembly è veramente indispensabile, almeno per i virus dos-based.Per programmare macro - virus invece, si usa un altro linguaggio di programmazione, visto che ha a che fare solamente con il Word e i documenti creati da esso.Qua ci vogliono linguaggi che siano basati sul word, per esempio il WordBasic.Teoreticamente si potrebbero programmare senza alcun'esperienza di assembly, però sono certo che non troverete praticamente nessun virus - writer che non abbia almeno iniziato con l'assembly.Ci sono addirittura alcuni che dei macro - virus non ne vogliono sapere nulla.Per loro i virus "veri" restano quelli per Dos, programmati con un "vero" linguaggio, l'assembly.