What is the difference between these three? As I understand it, polymorphic malware code actually is always the same, and it's just that it appears to be different (through encryption, data appending/pre-pending), while in metamorphic malware code the code itself gets different each time it propagates (through adding useless instructions, function reordering, loops etc.)? Am I right about these two?
And how about oligomorphic code? It is like a simpler version of polymorphic code but I don't exactly get it in which way it is simpler, so could someone please explain it a bit more?