Jump to content

Talk:Polymorphic code

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 58.164.86.46 (talk) at 06:22, 13 May 2006 (substitution). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
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)[reply]

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