1. A method of protecting program code of apps of mobile computing devices, the method comprising: receiving a package file in a mobile computing device, the package file comprising a plurality of encrypted Dalvik executable (DEX) program code segments that are stored in separate files in the package file; loading the plurality of encrypted DEX program code segments in memory of the mobile computing device; decrypting the plurality of encrypted DEX program code segments into a plurality of decrypted DEX program code segments; storing the plurality of decrypted DEX program code segments in separate and non-contiguous blocks of the memory; and parsing the plurality of decrypted DEX program code segments for loading and execution by a Dalvik process virtual machine of the mobile computing device.