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