A while ago I read about how some code obfuscators will generate a virtual machine with a random instruction set (e.g. an instruction might be "add 7 to register 1 and push the program counter onto the stack") and then compile a program in some high level language into bytecode for this instruction set. I've been looking for resources on this and similar techniques, but I can't seem to find anything.
Does anyone know of books or articles where I can read about it?