Комп’ютерні віруси зазвичай приєднуються до виконуваного хост-файлу, що призводить до виконання їх вірусних кодів під час відкриття файлу. Потім код поширюється з документа або програмного забезпечення, до якого він прикріплений, через мережі, диски, програми для обміну файлами або заражені вкладення електронної пошти.
Для комп’ютерних вірусів зазвичай потрібна хост-програма. Вірус записує власний код у головну програму. Під час запуску програми спочатку виконується записана вірусна програма, що спричиняє зараження та пошкодження. Навпаки, комп’ютерний хробак не потребує хост-програми, оскільки це незалежна програма або фрагмент коду.
Коли ви пишете комп’ютерний вірус, ви пишете комп’ютерну програму, яка є можливо лише за умови знання мови програмування. Одними з найпопулярніших мов для написання шкідливих програм є Python, C/C++, Javascript і PHP.
Традиційно зловмисне програмне забезпечення записується в C/C++.
Віруси могли виникнути з мобільних генетичних елементів, які отримали здатність пересуватися між клітинами. Вони можуть бути нащадками раніше вільноживучих організмів, які адаптували стратегію паразитичного розмноження. Можливо, віруси існували раніше та призвели до еволюції клітинного життя.