Tigress is a virtualizer for the C language that supports many novel defenses, both static and dynamic, against well-known de-virtualization attacks. In addition to the virtualization transformation, Tigress contains a collection of traditional obfuscating transformations such as control-flow flattening, opaque predicate insertion, and function merging and splitting. These are used to make the generated interpreters stealthier, more diverse, and more resilient to attack.
more here.............http://tigress.cs.arizona.edu/
more here.............http://tigress.cs.arizona.edu/