Penulis virus dengan cepat menyadari bahwa pendeteksian virus dienkripsi tetap sederhana
untuk perangkat lunak antivirus selama kode decryptor itu sendiri cukup panjang
dan cukup unik. Untuk tantangan produk antivirus lebih lanjut, mereka memutuskan untuk
menerapkan teknik untuk menciptakan decryptors bermutasi.

Tidak seperti virus dienkripsi, virus oligomorphic melakukan perubahan decryptors mereka dalam
generasi baru. Teknik paling sederhana untuk mengubah decryptors adalah dengan menggunakan menetapkan
dari decryptors bukan satu pun. Virus pertama yang diketahui menggunakan teknik ini
adalah Paus. Paus membawa beberapa lusin decryptors berbeda, dan virus mengambil
satu secara acak.
W95/Memorial memiliki kemampuan untuk membangun 96 decryptor pola yang berbeda. Demikian
deteksi virus berdasarkan kode decryptor merupakan sebuah solusi yang praktis
SI, meskipun salah satu mungkin. Sebagian besar produk mencoba untuk menangani virus oleh dinamis
dekripsi dari kode dienkripsi. deteksi ini masih didasarkan pada kode konstan
tubuh virus dekripsi.
Pertimbangkan contoh Memorial ditampilkan dalam properti, suatu contoh tertentu
dari 96 kasus yang berbeda.
Sebuah Decryptor Contoh Virus W95/Memorial
mov EBP, 00405000h; dasar pilih
mov ecx, 0550h; ini banyak byte
lea esi, EBP [+0000002 E]; offset “Start”
add ecx, [EBP +00000029]; plus ini banyak byte
mov al, [EBP +0000002 D]; memilih kunci pertama
Mendekripsi:
nop; junk
nop; junk
XOR [esi], al; mendekripsi byte
inc esi; byte berikutnya
nop; junk
inc al; geser tombol
ecx Desember, apakah ada byte lagi untuk mendekripsi?
jnz Decrypt; sampai semua byte adalah dekripsi
JMP Start; dekripsi dilakukan, jalankan tubuh