Oligomorphic code

Oligomorphic code, also known as semi-polymorphic code, is a method used by a computer virus to obfuscate its decryptor by generating different versions of it, in order to evade detection by antivirus software.

[1] Oligomorphic code works by randomly selecting each piece of the decryptor from several predefined alternatives.

At run time, these components can be combined in various ways to create new, distinct versions of the decryptor.

[2] Having multiple possible decryptors makes it more difficult for a virus to be detected with anti-malware signatures.

However, most oligomorphic viruses are only able to generate a limited amount of decryptors,[2] around a few hundred,[citation needed] so detecting them with simple signatures is still possible.