Answer the question
In order to leave comments, you need to log in
How to read a pointer from the memory of another process?
Hello, with the help of ArtMoNey I found a pointer to a pointer. And here's the problem I'm reading the data like this
ReadProcessMemory(process, (LPCVOID)0x006C1D48, &p1, 4, NULL);
Answer the question
In order to leave comments, you need to log in
Stop spouting questions. The answer to them will not fit on a dozen pages. Read better about memory addressing, what is an absolute address, relative, what is the base address of the process, what is the randomization of the base address. Just take and read the memory will not work.
1. This address only works for the current process.
2. Secondly, it will be different every time it starts and allocates memory from the heap.
3. It can also change due to ASLR
.
To get to the bottom of the actual data structure with character information, you need to find the place in the code where this structure is allocated on the heap. That is, there should be something like
CharInfo info = new CharInfo();
(_thiscall) CharInfo::CharInfo(info)
ArtMoney is not enough to write a full-fledged runtime patch. You will need a full-fledged debugger, reading and understanding code fragments that are responsible for reading / writing this value.
I can predict the problem you'll run into when trying to discover a (supposedly existing) chain of pointers - every time you run that value (and all pointers to it) it will appear at a new address.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question