readprocessmemory

C# ReadProcessMemory: How to read a 64 bit memory address?

北城余情 提交于 2019-11-27 20:55:35
I am getting into reading application memory. I am using CheatEngine to get a memory address and then trying to return it's value. However, CheatEngine seems to be returning 64 bit memory addresses and so my ReadProcessMemory function keeps on telling me that it cannot convert a 'long' to 'int' whenever I enter in the address. All the tutorials I have found seem to be based on memory addresses that are like 00AB5678 but the ones I am getting are more like D3569227FC. So my question is, how do I use ReadProcessMemory with much larger memory addresses? Here is my code: using System; using System

How do you read directly from physical memory?

泪湿孤枕 提交于 2019-11-27 07:37:28
In C or C++ (windows), how do you read RAM by giving a physical (not virtual) address? That means without going trough virtual memory system (mmu tables), and being specific to one process. I already know the API ReadProcessMemory , which reads from ram (used by most trainers) but it is only for a specific process. I searched on MSDN and found that Device\PhysicalMemory seems to give such possibility, but I found no practical example and this feature seems to have been turned off by Windows service packs (to fix some vulnerability). I know it is possible to do because WinHex does it (if you

Searching for every occurrence of a string in another process's memory

牧云@^-^@ 提交于 2019-11-26 22:11:39
问题 I am attempting to retrieve every occurrence of a certain string, say "ExampleString". What I currently have will find the first occurrence of the string in a process's memory but it won't find the subsequent strings. I tried to use a vector to store all the results but it only finds one result still. Below is the function I am using to get the vector of memory locations. Again, it works for the first location. std::vector<char*> GetAddressOfData(DWORD pid, const char *data, size_t len) {

C# ReadProcessMemory: How to read a 64 bit memory address?

て烟熏妆下的殇ゞ 提交于 2019-11-26 20:21:29
问题 I am getting into reading application memory. I am using CheatEngine to get a memory address and then trying to return it's value. However, CheatEngine seems to be returning 64 bit memory addresses and so my ReadProcessMemory function keeps on telling me that it cannot convert a 'long' to 'int' whenever I enter in the address. All the tutorials I have found seem to be based on memory addresses that are like 00AB5678 but the ones I am getting are more like D3569227FC. So my question is, how do

How do you read directly from physical memory?

假如想象 提交于 2019-11-26 17:39:00
问题 In C or C++ (windows), how do you read RAM by giving a physical (not virtual) address? That means without going trough virtual memory system (mmu tables), and being specific to one process. I already know the API ReadProcessMemory, which reads from ram (used by most trainers) but it is only for a specific process. I searched on MSDN and found that Device\PhysicalMemory seems to give such possibility, but I found no practical example and this feature seems to have been turned off by Windows