System and method for binary layout randomization
AssigneeApple Inc.
InventorsGanna Zaks, Julien Lerouge, Jon McLachlan, Gideon M. Myles, Augustin J. Farrugia
Life of this patent
Estimating the term…
Loading patent…
AssigneeApple Inc.
InventorsGanna Zaks, Julien Lerouge, Jon McLachlan, Gideon M. Myles, Augustin J. Farrugia
Estimating the term…
Disclosed herein are systems, methods, and non-transitory computer-readable storage media for binary layout randomization. A system performs binary layout randomization by loading computer code into memory and identifying a section of the computer code to randomize. A loader remaps the section of computer code to a different location in memory utilizing a remapping algorithm. The loader can shuffle sections of code in place or move sections of code elsewhere. The loader patches relative addresses to point to the updated locations in memory. After the system patches the addresses, the system executes the computer code from memory. In one embodiment, the system encrypts the computer code prior to loading the computer code into memory. The loader decrypts the encrypted computer code prior to remapping the section of computer code to a different location in memory. Optionally, the loader can decrypt the encrypted computer code after patching relative addresses.
A method for executing computer code, the method comprising:
A system for executing a binary application, the system comprising:
A non-transitory computer-readable storage medium storing instructions for a computing device to randomize a layout of a binary, the instructions comprising:
A compiler for obfuscating binary code, the compiler comprising:
Dependencies are inferred from the claim text.