3 ms·
> A process can't change the address space of another process, period. Even if one is a root process. Separation of address spaces is a basic security service p
by bdonlan 15y ago
> A process can't change the address space of another process, period. Even if one is a root process. Separation of address spaces is a basic security service provided by the operating system. So I'm also puzzled how they are able to modify memory in Finder's address space.
Sure you can. Every major PC OS (Windows, Mac, Linux) has a debugging API that, in fact, does allow you to read and write the memory of other processes. Windows even has a convenient function to allocate blocks of memory in other processes' address space, and another function to spawn a thread in another process with an arbitrary entry point - which makes this sort of thing relatively easy to do.
Mind you, the primitives provided can be a bit difficult to work with, but it's far from impossible.