Non ho sviluppato un virus polimorfico ma l'idea di crittografare parte di qualsiasi eseguibile (ELF, PE o altro) non è inimmaginabile per me.
Finché c'è una parte di codice che non è crittografata per avviare il processo (lo stub nella descrizione), dovrebbe funzionare.
Ricorda che (anche se non sono crittografati, ma invece compressi), il kernel Linux comprime gran parte dell'immagine e usa un meccanismo analogico per decomprimere l'immagine durante il boot anche.
Finché lo stub iniziale costituisce una semplice istruzione eseguibile che la CPU comprende, il codice può sempre tenere traccia dell'indirizzo di memoria, il puntatore di istruzioni (EIP).
Tutto il codice deve essere sicuro che prima che l'EIP raggiunga l'indirizzo delle istruzioni da eseguire, il contenuto (le istruzioni) a tale indirizzo vengono decodificati. Allo stesso modo, la logica del codice deve essere sicura di non dereferenziare alcun indirizzo che punta a un intervallo di memoria crittografato (a meno che lo scopo non sia quello di decrittografarlo).
Ha senso?