Polymorphic engine
From Wikipedia, the free encyclopedia
A polymorphic engine (sometimes called mutation engine or mutating engine) is a computer program that can be used to transform another program into a version that consists of different code with the same functionality. A typical polymorphic engine works by encrypting the target program in various ways and providing a decryption module that can vary widely.
Polymorphic engines are mainly used by computer viruses. In this case, the function of the polymorphic engine is to make it difficult for virus scanners to detect and identify the virus. The virus uses the polymorphic engine to encrypt itself in a different way for each program that it infects. As a consequence, it is impossible to detect the virus by searching for a fixed signature in program files, because every part of the encrypted virus is subject to change.
The first polymorphic engine was called MtE (short for Mutation Engine). It was written in 1992 by a virus author who called himself 'Dark Avenger'.