GW2 Memory Thread

10/09/2013 12:11 buFFy!#121
Quote:
Originally Posted by xoraxax View Post
Does anyone know how the environment informarion is stored - i mean players, mobs, loot etc which are available on the map around the player (Is it arrays or kinda hashtables or anything else?). And a tip how to find it would be very helpfull too.
Sparse array. Look up the referenced text strings for "agent" and look for an iteration.
11/08/2013 07:53 Mostey#122
#moved
#stuck
01/05/2014 21:38 0xCheats#123
Anyone have the new offsets ?
01/09/2014 17:14 Xereon#124
Quote:
Originally Posted by 0xCheats View Post
Anyone have the new offsets ?
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
01/29/2014 05:14 shemer77#125
Does anyone know if it is possible to take items from the trading post directly using memory modification? Or would it have to be an indirect way of teleporting to a black lion agent and then you'll be able to get the items?
01/30/2014 21:35 Fragaria#126
Quote:
Originally Posted by shemer77 View Post
Does anyone know if it is possible to take items from the trading post directly using memory modification? Or would it have to be an indirect way of teleporting to a black lion agent and then you'll be able to get the items?
Yes it is.
02/07/2014 05:38 shemer77#127
I was wondering if somebody could guide me in the right direction. I am trying to get the number of items currently in a persons inventory. Using CE I find that the address that contains this value usually is around 031CXXXX . Of course it changes every time, and so I find out what writes to this address and thats where I get lost. This is the information I find out but I'm not sure how to proceed with it.

Heres a screenshot of how far I got:
[Only registered and activated users can see links. Click Here To Register...]
02/07/2014 15:51 Mostey#128
Quote:
Originally Posted by shemer77 View Post
I was wondering if somebody could guide me in the right direction. I am trying to get the number of items currently in a persons inventory. Using CE I find that the address that contains this value usually is around 031CXXXX . Of course it changes every time, and so I find out what writes to this address and thats where I get lost. This is the information I find out but I'm not sure how to proceed with it.

Heres a screenshot of how far I got:
[Only registered and activated users can see links. Click Here To Register...]
ESI may hold the base of the local player. Follow the trace and find out how you can track back to the dynamic address with the provided offsets. 0C may be the offset added to the local player base. Just make sure it is and then move on.
02/08/2014 14:49 shemer77#129
Ok thats very helpful, thanks
02/16/2014 13:04 ffx0ffx#130
I'm trying to figure out how to read the currently targeted mob/npc/player/structure's health values. My knowledge in reading memory/ASM is horrible and am learning as I go so any help would be appreciated!

atm to find the health values I do a search for the following pattern:
Code:
0x4 [2C 00 00 00]
0x4 [?? ?? ?? ??]
0x4 [84 32 56 01]
0x4 [?? ?? ?? ??] timer of some sort, maybe objects lifetime
0x4 [?? ?? ?? ??] current health, float
0x4 [?? ?? ?? ??] maximum health, float
0x4 [?? ?? ?? 44] attributes of some sort. players tend to end with 44 while out of combat
I have gotten as far as printing out a list of all npc/object/player and their health values on the current map but don't know how to tie it with the currently targeted object and pick the values I'm interested in. How would I find a place in memory that identifies which model/object is selected?

The end goal is to have an overlay that will print current and max health values of currently selected target right over the gw2's health bar.

Thanks!
02/16/2014 13:36 Xereon#131
Well just think logically. The health of your target agent is ofcourse not stored inside your own agent o.O. However its agentId or a pointer to it might be. If not, its very likely that there is some method inside a (global/static) object (context). The most important thing in reversing is to ask yourself: "How would I implement this?".

Now, how do we get this in the first place (as we e.g dont know the pointer of that agent)? Well there are several ways. You could e.g look for assertions, try to find the id + ptr through iteration over the agent array by looking for values unique to that agent or find it through some other known methods already (e.g I would start by the packetsend method, break on a packet where the agentId of my target is contained and would work my way up the stack)
03/28/2014 02:12 ffx0ffx#132
Took me a while but I figured it out.

Char HP:
- AgentPointer > 0x30 > 0x130 > 0x8 and 0xC > float

Structure HP:
- AgentPointer > 0x30 > 0x164 > 0x8 and 0xC > float

WorldBoss HP:
- AgentPointer > 0x30 > 0x28 > 0x178 > 0x8 and 0xC > float

Char LvL:
- AgentPointer > 0x30 > 0x1c > 0xf0 > 0xb0 > short int

Not sure how these offsets will hold post feature patch, hopefully they'll still be valid XD
06/19/2014 04:16 evpevpevp#133
Does anyone have offsets for current network stuff like Encrypt/Decrypt funcs?
08/18/2014 19:10 .iArt#134
Does anyone have the offsets/pointer for the number of group members? Just want somehow know how many people are in my group.

Greetings
08/18/2014 22:16 TeamSoloBoost#135
Interesting thread... I like it :)