Talk:Polymorphic code
Appearance
GOTO Loop IF NOT A = (Decryption_Code - Encrypted)
Uhh... should that be A = Decryption_Code?
better method
Make the polymorphism engine be like the back end of a compiler, complete with a register allocator and so on. Feed it a typical compiler-style intermediate representation of your code.
Now you can easily randomize basic block ordering, register assignment, opcode selection, etc.
24.110.60.225 20:45, 1 January 2006 (UTC)
substitution
A better example would be the substitution of instructions with equally-effective other instructions. For example,
cmp eax, 7 je destination
is computationally correct (possibly not complete, but this is indeed unneccessary) as this:
sub eax, 7 je destination