[Code Project]Stealing Program's Memory
Introduction
I was recently trying to steal strings from another program's listview control. You need to pass a pointer so it knows where to put the string. Normally this wouldn't be a problem, but because Windows uses virtual memory pointers are not valid across programs.
Virtual memory is how Windows deals out memory to all it's programs. It makes programs think they have 2 Gb of memory to use. It also protects programs from using each other's memory so if one program crashes it doesn't take down the whole system with it.
So after coding a fair bit, I realized my pointers were all invalid and it wouldn't work. A few hours of digging through MSDN brought me to the functions VirtualAllocEx()
, VirtualFreeEx()
, WriteProcessMemory()
and ReadProcessMemory()
. Armed with this new information, I set out to modify my code. Here is what I had so far:
출처: http://www.codeproject.com/KB/threads/int64_memsteal.aspx