Virus siêu đa hình (super-polymorphic virus) là thế hệ mới của họ virus đa hình. Thế hệ virus mới này đã “nâng cấp” khả năng đa hình bằng cách lai tạo và kết hợp nhiều kiểu đa hình khác nhau trong cùng một virus. Virus siêu đa hình khi lây nhiễm sẽ tự động biến đổi, lai tạp, hình thành các thế hệ virus F1, F2, F3... Fn, với n là một số không xác định. Sau mỗi lần lai tạp, khả năng phát hiện của các phần mềm diệt virus đối với loại virus này càng giảm đi. Chính vì thế, virus siêu đa hình có thể qua mặt được hầu hết các phần mềm diệt virus không có cơ chế quét sâu. Nếu phần mềm chỉ sử dụng các bộ mẫu nhận diện cố định để tìm các virus đa hình hoặc siêu đa hình thì sẽ không thể tìm đủ các "hình" của virus, dẫn tới diệt không triệt để.
Không giống như virus đa hình, virus siêu đa hình có chứa phần morphing. Phần morphing chịu chắc nhiệm qua mặt phần mềm diệt virus. Phần thân của virus siêu đa hình gồm 2 phần như hình 2.3:
Hình 2.3: Thành phần của virus siêu đa hình
Virus siêu đa hình đơn giản, đầu tiên ra đời vào tháng 12 năm 1998 có tên là Win95/Regswap. Với Regswap, nó sử dụng kỹ thuật thay đổi thanh ghi. Do đó, những biến thể của Regswap có cùng mã lệnh nhưng thanh ghi sử dụng khác nhau. Hình 2.4 cho thấy biến sự thay đổi của 2 biến thể của Regswap:
Hình 2.4: Sự thay đổi biến thể của Regswap
Phương pháp để phát hiện ra loại virus regswap là tìm kiếm chuỗi. Sau đó, virus dử dụng kỹ thuật hoán vị chương trình con. Dòng virus BadBoy DOS dựa trên kỹ thuật hoán vị chương trình con. Với 8 chương trình con, BadBoy có thể tạo ra 8!=40320 biến thể. Hầu hết loại virus này đều bị phát hiện bằng cách tìm chuỗi. Kỹ thuật hoán vị chương trình con được thể hiện như hình 2.5:
Hình 2.5: Kỹ thuật hoán vị chương trình con
Đến năm 2000, sự xuất hiện của Win32/Evol với tạo ra những biến thể phức tạp dựa trên kỹ thuật hoán vị. Win32/Evol chèn những mã rác và sử dụng những kỹ thuật che dấu phần mềm diệt virus. Hình 2.6 cho thấy sự thay đổi biến thể của Win32/Evol:
BF0F000055 mov edi,5500000Fh 893E mov [esi],edi
5F pop edi 52 push edx B640 mov dh,40
BA8BEC5151 mov edx,5151EC8Bh 53 push ebx
8BDA mov ebx,edx
895E04 mov [esi+0004],ebx
BB0F000055 mov ebx,5500000Fh 891E mov [esi],ebx
5B pop ebx 51 push ecx
B9CB00C05F mov ecx,5FC000CBh
81C1C0EB91F1 add ecx,F191EBC0h ;ecx=5151EC8Bh
894E04 mov [esi+0004],ecx Hình 2.6: Sự thay đổi biến thể của Win32/Evol