A polymorphic virus uses mutation engines to create modified versions of itself and avoid detection. It encrypts its codes with every infection, and it changes the encryption key each time. Since they don't use a static code, they can be difficult to spot and remove.