Definición
¿Qué es code virtualization?
Code virtualization es la técnica de ofuscación más avanzada. En lugar de transformar tu código, lo reemplaza. Un método protegido se convierte en un conjunto de instrucciones propio que ninguna herramienta estándar entiende.
Esas instrucciones propias las ejecuta una virtual machine embebida en tu aplicación. El método original ya no existe en ninguna forma estándar, así que no queda nada con lo que pueda trabajar un decompilador normal.
Para recuperar la lógica, un atacante tiene que hacer ingeniería inversa primero de la virtual machine, entender su conjunto de instrucciones propio y, solo después, interpretar el bytecode. Es un esfuerzo mucho mayor que analizar código ofuscado normal, por eso la virtualización se reserva para la lógica más sensible.
