Skip to main content

ASLR for Userland Applications

In the General Settings screen for iOS devices, you have the option to disable ASLR for userland applications.

Options to disable ASLR

What is ASLR?

Address Space Layout Randomization (ASLR) is an iOS security technique that makes it more difficult for attackers to predict the memory layout, including the location of specific functions and buffers.

ASLR randomly arranges the address space positions of key data areas of a process, including the base of the executable and the positions of the stack, heap, and libraries.

Disable ASLR for the DYLD Shared Cache

The DYLD Shared Cache, often just "shared cache," is a feature in iOS (as well as macOS) related to the dynamic linker, dyld. This cache is essentially a single large file that contains all the system frameworks and libraries that most apps use.

Disabling ASLR for the shared cache can be useful for debugging purposes and reverse engineering.

To disable ASLR for shared cache, check advanced boot options when creating a device, navigate to the General tab, and check "Disable ASLR for DYLD Shared Cache".

Disable ASLR for Applications

In addition to shared cache, you turn off the randomization of memory addresses for applications.

Disabling ASLR for applications can be useful for debugging purposes, as it allows you to more easily find the location of a specific application function in memory.

To disable ASLR for shared cache, check advanced boot options when creating a device, navigate to the General tab, and check "Disable ASLR for Applications".