Is it possible for a program to access another program's memory directly and read from (or write to) it, or to "inherit" the old contents of memory reclaimed from another program? (ie if it doesn't zero out memory before using it and just reads from unitialized memory directly)
|
feedback
|
|
Ever since Windows XP and on, all major operating systems have this type of memory protection. One program will not be able to write to another program's memory. It might be possible that a program could "reclaim" memory that was de-allocated from another program but it will not have the information that was previously stored within it. | |||||||||
feedback
|
|
I haven't written code for Vista nor Win7, but I can't imagine that their developer tool box doesn't include some type of shared memory mechanism. | |||
|
feedback
|
|
I wouldn't be so sure that Windows 7 does implement memory protection because we can see that people are able to hack games (such as Diablo 2) or even programs developed on VB2008 to change the content of their variables. I tested it on a program I wrote in Visual Basic 2008 and attempted to change its variable's content with "Cheat Engine 5.6". It worked. So I guess either Windows 7 doesn't implement memory protection at all or it's disabled by default. | |||
feedback
|