DavidR
2
A polymorphic virus that changes its binary pattern each time it infects a new file to keep it from being identified is by its nature going to be difficult to detect.
http://encyclopedia.tfd.com/polymorphic+virus
In computer terminology, polymorphic code is code that mutates while keeping the original algorithm intact. This technique is sometimes used by computer viruses, shellcodes and computer worms to hide their presence.
Most anti-virus software and intrusion detection systems attempt to locate malicious code by searching through computer files and data packets sent over a computer network. If the security software finds patterns that correspond to known computer viruses or worms, it takes appropriate steps to neutralize the threat. Polymorphic algorithms make it difficult for such software to locate the offending code as it constantly mutates.
Encryption is the most commonly used method of achieving polymorphism in code. However, not all of the code can be encrypted as it would be completely unusable. A small portion of it is left unencrypted and used to jumpstart the encrypted software. Anti-virus software targets this small unencrypted portion of code.
So unless you detect the original polymorphic virus signature and you don’t have some other non-signature means of detection, you will be looking for something very small.