Es werden keine Variablen verändert - es werden nur Kommentare mit Pseudozufallszahlen zwischen den Zeilen eingefügt.
Der Code verändert sich trotzdem (es ist klar, dass das Einfügen von Kommentaren bei einer compilativen Sprache und das anschließende neucompilieren das ganze nicht polymorph machen ist klar, aber bei einer Skriptsprache kann das so funktionieren)
Wenn du aber polymorphismus als eine Veränderung des Sinnes des Programms betrachtest, dann würde ich gerne mal wissen was deine Polymorphen Viren so machen;
Beim ersten Ausführen verbreiten sie sich auf deinem PC und in deinem Netzwerk, wo sie wiederum Hintertüren installieren und beim nächsten Hochfahren säubern sie dein Netzwerk wieder, räumen dir deinen Desktop auf und helfen dir bei deinen täglichen Computerproblemen. (das wäre für mich ein Wechsel des Sinnes eines Programms wie du ihn beschrieben hast).
mfG. BlackBerry
EDIT:
Soweit ich weiß funktioniert das wie bei Bamcompile ( http://www.bambalam.se/bamcompile/ ) - das Skript wird per Binder an eine Miniversion des Perl-Interpreters gebunden.
Beim Ausführen werden dann Interpreter und Script gedroppt und aufgerufen.
Der oben gepostete polymorphe Code würde somit nur seine gedroppte Version verändern, die erstellte EXE würde sich aber nicht verändern.
Somit bringt es nichts diesen Code zu einer EXE zu compilieren (oder besser gesagt zu binden)