अपने आप की अनुलिपि करने के लिए, एक वायरस को कोड का निष्पादन करने की तथा स्मृति पर लिखने की अनुमति होनी चाहिए इस कारण से, कई वायरस अपने आप को निष्पादन योग्य फाईलों से संलग्न कर लेते हैं जो उचित प्रोग्राम का हिस्सा हो सकता है। यदि एक उपयोग कर्ता एक संक्रमित प्रोग्राम को शुरू करने की कोशिश करता है तो, ऐसा हो सकता है की पहले वायरस का कोड निष्पादित हो. वाइरसों को दो प्रकार में विभाजित किया जा सकता है, उनके व्यवहार के आधार पर और उनके निष्पादन के आधार पर.अनिवासी वायरस तुंरत अन्य पोशियों को खोजते हैं जिन्हें संक्रमित किया जा सकता है, इन लक्ष्यों को संक्रमित करते हैं और अंततः नियंत्रण को अनुप्रयोग प्रोग्राम () पर स्थानांतरित कर देते हैं जिसे उन्होंने संक्रमित किया है। निवासी वायरस पोशी की तलाश नहीं करते हैं जब वे शुरू होते हैं। इसके बजाय, एक निवासी वायरस अपने आप को निष्पादन पर स्‍मृति में लोड कर लेता है और नियंत्रण को पोषी प्रोग्राम पर स्थानांतरित कर देता है। वायरस पृष्ठ भूमि में सक्रिय रहता है और नए पोषियों को संक्रमित करता है जब इन फाईलों को अन्य प्रोग्रामों या ख़ुद ऑपरेटिंग सिस्टम के द्वारा एक्सेस किया जाता है।
सॉफ्टवेयर विकास की भूमिका
संक्रमण की रणनीतियां
वायरस विरोधी सॉफ्टवेयर और अन्य रोकथाम के उपाय
वाहक और पोषी