Do pomocy w generowaniu zmian w kodzie deszyfrującym używa się następujących prostych akcji: zamienia się instrukcje na ich odpowiedniki dające w rezultacie ten sam efekt – na przykład zamiast dzielić przez 2 ( x=x/2 ) można użyć przesunięcia bitowego w prawo o 1 bit ( x=x>>1 ) transpozycja, zamiana miejscami instrukcji, które nie mają wpływu na działanie sekwencji instrukcji wprowadzanie instrukcji lub sekwencji instrukcji nic nie wnoszących do działania algorytmu (NOP), np. działających na lokalnych zmiennych

Dodatkowo modyfikacji ulec może również zaszyfrowany kod programu. Podczas replikacji program może użyć nowego klucza do zaszyfrowania własnego kodu.

Historia Pierwszy znany wirus polimorficzny został napisany przez Marka Washburna w 1990 roku i nazywał się 1260. Bardziej znany przykład wirusa polimorficznego został stworzony w 1992 przez bułgarskiego programistę znanego pod pseudonimem Dark Avenger.

Przykład W większości przypadków do szyfrowania kodu używa się prostej operacji XOR na wszystkich bajtach kodowanego fragmentu kodu.