Blizzhackers

Return of the Jedi

* Login   * Register    * FAQ    * Search

Join us on IRC: #bh@irc.synirc.net (or Mibbit Web IRC)


MuleFactory


It is currently Wed Jun 19, 2013 6:22 pm


All times are UTC [ DST ]





Post new topic Reply to topic  [ 2 posts ] 
Author Message
 Post subject: item offset and read
PostPosted: Sun Aug 05, 2012 11:29 pm 
 
User
User

Joined: Sun Aug 05, 2012 11:19 pm
hi guys, i've looked into some forums bu I haven't found any answer, can someone explain me how to read the memory for WoW? I mean, if I can find the offsets I need(items, if someone have) i can read the ids simply by saving the contenent of the variable pointed by the address?
(In C language:
id=*point;
)

I thin, thanks in adnvance for the help and sorry for the very bad english, it isn't my mother language ;)

Xenon

Top
 Profile  
 Post subject: Re: item offset and read
PostPosted: Tue Feb 05, 2013 6:46 am 
 
User
User

Joined: Mon Feb 04, 2013 9:19 am
Different types of offsets are used for different things, and they often change with version changes. Examples below are for 32 bit WoW.

In 5.1.0.16357, you can find the Current Manager at (base address of wow.exe in memory + 0xC23A1C).

So, first you need to figure out the base address of wow.exe in RAM.

Then you can read unsigned int from (wow.exe + 0xC23A1C) to get the address of the Current Manager.

You can then read unsigned int from (address of Current Manager + 0xCC) to get the address of the first object.
This is the first object in a list of the objects that your client is aware of.

From here, you can read data about the object, and you can read the address of the next object like this:
Read unsigned int from (address of the first object + 0X3C) to get the address of the next object.
You can loop through the objects by doing this repeatedly (while address of the current object + 0x3C != 0)

For any given object, you can read unsigned int from (address of the object + 0x10) to get the object type.

To make it more complicated, objects have a 'descriptors' field. This is currently 0x8 bytes away from the address of the object you're interested in, so:

read unsigned int from (address of a given object + 0x8) to get the address of the descriptors field, then:

read unsigned int from (address of the descriptors field + 0x6c) to get health.

Hopefully that helps somebody.

Top
 Profile  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
cron