The document discusses polymorphic and metamorphic viruses. It defines polymorphic viruses as viruses that are capable of mutating themselves when replicating, making them harder to detect. Metamorphic viruses can rewrite their own code with each infection while maintaining the same functionality. Some techniques used by these viruses include entry point obfuscation, code permutation, execution flow modification, and code integration. Examples of specific polymorphic and metamorphic viruses like Win32/Vundo and W32/Zmist are also summarized.