Can I bother you to post updated player/object structs for 3.0.2 ( 3.0.2 game .exe found here: http://www.filedropper.com/wow_2 )
I've been working on this all day and from the looks of it they've changed a lot with 3.0, and there's a bit of the new stuff I wasn't able to wrap my head around.
I'll try my best to explain where i got lost.
The current 2.x.x+ builds object manager looked like this:
Code:
MOV ECX, FS: [2C]
MOV EAX, [E2563C]
MOV EDX, [ECX+EAX*4]
MOV EDX, [EDX+8]
MOV ECX, [EDX+AC]
Where E2563C is the TLS_Slot which is used to direct us to a host of other pointers.
In every patch, the only thing to really change has been the address of the TLS but everything remained the same.
My question is this, right after the 0x8 is added to the EDX register, why is it again adding +AC to the new Base pointer value? I've looked at all the old WoW 2.0+ builds and it's been the same but I could never figure out why it was there or what it was doing.
ALSO, the current 3.0.X+ builds seem to have changed that value to something different:
Code:
MOV ECX,DWORD PTR FS:[2C]
MOV EAX,DWORD PTR DS:[1348764]
MOV EDX,DWORD PTR DS:[ECX+EAX*4]
MOV EDX,DWORD PTR DS:[EDX+8]
MOV ECX,DWORD PTR DS:[EDX+B4]
See so my problem is I can't even begin to figure out wtf the +B4 means in the new version because I had no idea what it meant in vanilla (2.x.x+) WoW so I'm a bit screwed atm so to fix that I'm tracing my steps back.
Also Malu05 mentioned ( Player - WoW.Dev Wiki ) on the WoW wiki player data page that the new 3.0+ WoW uses level 3 pointers to get to the player base...does this explain why I'm having so much damn trouble with this?
Anyways, thanks for whatever help you can give.