Wirusy polimorficzne


Uwagi ogólne

Działanie wirusów polimorficznych

Kodowanie procedur szyfrujących wirusy bazuje na fakcie, że wiele różnych ciągów instrukcji procesora daje ten sam efekt. Na przykład poniższe trzy ciągi instrukcji zerują rejestr AX: Chcąc zmienić kod, nie zmieniając wyniku, można też np.: Wirusy polimorficzne infekując pliki mogą działać zgodnie z poniższym schematem:

Generatory wirusów polimorficznych

Istnieją biblioteki funkcji, które można wykorzystać do tworzenia wirusów polimorficznych. Są to t.zw. generatory wirusów polimorficznych. Dostarczają one funkcje: kodujące i generujące funkcje odkodowujące. Do poprawnego i efektywnego działania funkcje te potrzebują generatorów liczb losowych (proste generatory są dołączane do bibliotek).
Aby stworzyć wirusa polimorficznego z wykorzystaniem generatora wystarczy:

Przykłady generatorów wirusów polimorficznych

Mutation Engine (MtE)

Napisał ją Dark Ayenger. Od niej rozpoczęła się historia wirusów polimorficznych. Była rozprowadzana w postaci pliku mte.obj. Kodowanie odbywało się słowo po słowie. Generator liczb losowych znajdował się w pliku ran.asm, można go było zamienić na inny.

TridenT Polymorphic Engine (TPE)

Był to najbardziej rozpowszechniony generator wirusów polimorficznych. Do szyfrowania służyła procedura Crypt.
poprzednia