“… we can store our code within kernel-user-shared memory, officially known as SharedUserData. At 0xFFDF0000 is a writable memory area where we may store our shell code. This memory address is mapped from user land at 0x7FFE0000 and marked read only; these mapped locations are the same on all platforms, so it is a good choice for keeping everything generic. As the data at this memory location is readable from all processes, we are not required to switch into the address space of our target process.…“