Viruses may mutate over time if they are designed to change their own content as they replicate or if someone who has access to the code changes them. Viruses may also contain destructive code. These programs are generally designed to make changes to software that already exists on the system thus enabling them to replicate themselves, display messages, destroy data or software, or inhibit access by the user of the system. These types of viruses are usually easy to detect. An example of such a virus is the Jerusalem Virus.
Polymorphic viruses are viruses that can change each time they spread from one computer to another.
These types of viruses are harder to detect. An example of such a virus is the Scream Virus. Stealth viruses hide themselves to prevent detection. An example of such a virus is the Stealth Boot Virus. Encrypted viruses encrypt themselves to avoid detection.