The term computer virus is often used to indicate any software that can cause harm to systems or networks. People often do not include certain malicious software, such as Trojan horses and network worms, into the computer virus family. The theory of computer viruses has been studied by several authors, though there is no systematic theoretical study up to now. The long time open question in this area is: Is it possible to design a signature-free (including dynamic signatures) virus? This research provides an affirmative answer to this question from a theoretical viewpoint.