Trojan è un programma dannoso che non ha funzioni auto replicanti o di diffusione. Non infetta i file e non fa copie per infettare un altro computer. I tojan vengono solitamente consegnati al computer della vittima con altri programmi dannosi, spam, exploit, worm, ecc.
Virus è un programma autoreplicante che si attacca ai file eseguibili dell'utente comune (applicazioni, script, documento MS, qualsiasi cosa) e cambia il suo codice di avvio. Quindi, quando si esegue il file infetto, il codice del virus attaccato verrà prima eseguito e poi originale. È uno dei possibili scenari.
Ora rispondendo alle tue domande:
a virus is a program that does not self replicate and relies on the
host file being spread, it has malicious intent.
No, i virus sono sempre auto replicanti
A trojan is a program that is run be deceiving the user into appearing
to be something legitimate and has malicious intent.
Non sempre.
How are these different? To get a user to install a virus doesn't it
always require appearing as something legitimate.
Entrambi maligni, ma i virus si auto-replicano e il trojan si diffonde in altri modi (a volte facendo finta di essere un programma legittimo).
Or does a trojan program run as expected so for example if it was a
game it would work fine but have done something malicious without the
user knowing. Where as a virus doesn't?
Questo è più simile ai virus. Ti aspetti di eseguire ad esempio Calcolatrice e viene eseguito, ma prima che inizi il virus fa il suo lavoro "sporco".