Software protection aims at protecting the integrity of
software applications deployed on un-trusted hosts and being
subject to illegal analysis. Within an un-trusted environment
a possibly malicious user has complete access to
system resources and tools in order to analyze and tamper
with the application code. To address this research problem,
we propose a novel binary obfuscation approach based on
the deployment of an incomplete application whose code arrives
from a trusted network entity as a flow of mobile code
blocks which are arranged in memory with a different customized
memory layout. This paper presents our approach
to contrast reverse engineering by defeating static and dynamic
analysis, and discusses its effectiveness