Scanning the Memory

Started by
2 comments, last by FrancoisSoft 20 years, 8 months ago
Hi, I want to create a program that scans the RAM then dumps it on screen. I know that I have to use pointers. I want to set the starting address of the pointer to zero then loop through the entire memory byte by byte. Basically here''s the screnario: BYTE *Eye = 0x00000000; for (int x=0;x<(memsize);x++) { cout << (BYTE)(*Eye); Eye += 0x00000001; } Will this work? Do I have the right idea? Hey, don''t forget to visit my page... by clicking here!
Advertisement
I wouldn''t recommend doing this (even if it doesn''t work) unless you only have about 1000 bytes of memory. Even on a computer with only 128 mb of RAM you''ll be calling cout 128*1024*1024=134217728 times.


-If you see this image I may or may not be online
My website
It won''t work anyway because modern OS''s (I assume you use Windows?) use protected memory. 0x00000000 will point to the start of the virtual memory table for the current process, not the start of physical memory.
"When you die, if you get a choice between going to regular heaven or pie heaven, choose pie heaven. It might be a trick, but if it's not, mmmmmmm, boy."
How to Ask Questions the Smart Way.
You can''t look at all the memory that way. Every program is run in its own separate "address space", where it has exclusive access to four gigs of RAM, which other programs normally can''t touch. If you want to look at other processes'' memory, look up ReadProcessMemory and WriteProcessMemory.

"For crying out loud, she has fishes coming out of her head on either side. How can you find this hot?!"
"If anyone sees a suspicious, camouflaged factory being carried across the desert, they should report it immediately."

This topic is closed to new replies.

Advertisement