Let me start by saying I understand that the TLS method for identifying the player structure in memory is faster, but I am trying to understand what is going on, and I don't understand TLS yet.. so I'm using a brute force method of searching.
The only information I have been able to locate thus far on the format in WoW's memory as to the structure of player information (health, mana, rage, what-have-you) is in this post: wow offsets and pointers
As stated in the post, this is information from 2.4.3. I assumed going into this that since we are now in the 3.x.x versions, the information presented in this post may be significantly out of date, if not completely incorrect. I have set out over the past few days to either locate a more recent map of this structure or to reproduce it myself. As for my quest to locate such a map, let me just say I have been unsuccessful though I believe thorough in my search. As for my attempts to reconstruct it, my attempts have met with very limited success.
I started by reading my character's coordinates (x, y, and z) from their accepted static location in memory for 3.0.3, defined as follows:
Code:
DWORD xAddr = 0x012E1B7C;
DWORD yAddr = 0x012E1B80;
DWORD zAddr = 0x012E1B84;
After reading the values at these locations, I search from 0x00000000 until ReadProcessMemory() fails for other instances of these consecutive values. Usually I turn up about four additional locations.
I then examined the neighboring memory of these locations (about a kilobyte before and after each location) manually looking for other player related information (current health versus max health, faction information, character name, etc.) but was entirely unsuccessful.
I then modified my code to, once locating the (x, y, z) ordered triplet, search 'nearby' memory for the ordered pair of (max_health, max_mana), and inform me when they were found. This happened in two locations, and I wrote my code to output the offset between the xAddr and the hpAddr. The values were close, but not equal, for the two locations. I repeated my manual examination of the surrounding memory looking for information that seemed to relate to my character, but was again unsuccessful.
I now pose the question to this community, as I have also to the EoN community... what information is available on the player/mob data structure inside WoW 3.0.3? I am particularly interested in information on the character's health/mana/rage/energy/etc. as well as it's targets and potentially party members.
I apologize in advance if the answer to my search is in a sticky on this forum or somewhere else obvious, but I reiterate that I have looked everywhere I can think of for this information.
Oh, and I am using C++, not C# or "AutoIT".