Los virus se programan principalmente en lenguajes de bajo nivel como el ensamblador para interactuar directamente con el hardware y ocultarse de los sistemas operativos. Actualmente también se usan lenguajes de alto nivel. Los virus tratan de ejecutarse y replicarse sin el consentimiento del usuario. Se esconden en otros programas benignos u otras técnicas. Generalmente intentan cargarse en memoria para ejecutarse y controlar el sistema.