A Trojan or a Trojan horse is a program that hides in a useful program and usually has a malicious function. A major difference between viruses and Trojans is that Trojans do not self-replicate. In Addition to launching attacks on a system, a Trojan can establish a back door that can be exploited by attackers.