Patent ID: 8756434
Filing Date: 2014-06-17
Classification: G06F

Abstract:
1. A method comprising: receiving a request to execute a computer program, the computer program including a set of encrypted slices and an unpacking mechanism, wherein each encrypted slice in the set of encrypted slices is sized based on an analysis of the computer program, the size based at least in part on at least one of a target architecture, performance, code structure, complexity level, or code sensitivity; determining that a first encrypted slice from the set of encrypted slices is needed for execution; decrypting by the unpacking mechanism the first encrypted slice to yield a first decrypted slice; storing the first decrypted slice at a first location in a pool of memory; patching relative references based on the first location of the first decrypted slice in the pool of memory; executing, via a processor of a computing device, the first decrypted slice from the first location in the pool of memory; and evicting the first decrypted slice from the first location in the memory pool.