Noob Question about multi level pointers menu

Shout-Out

User Tag List

Results 1 to 4 of 4
  1. #1
    rdw's Avatar Active Member
    Reputation
    28
    Join Date
    May 2012
    Posts
    81
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Noob Question about multi level pointers

    After having some success on other games I decided to move to the famous WoW as someone in the forum advised me, the chosen version was 3.3.5a and I got started couple days ago. Still the other games I tried to create tools were pretty simples to find entities and all but when I started messing with wow it got me stuck on its multi level pointers.

    There was another topic here talking about the same thing but the answer given was to use IDA and the PDB to find the playerbase but since this is about learning, the addresses should be found pilgrim style.

    So after finding the dynamic address for XYZ using CE, I set a bp on access and got the first pointer, second pointer, third pointer... after the third pointer it loops me back to the second pointer.

    Thanks for all the info on this section its really a rich resource for research and most of the users are very helpful.

    Noob Question about multi level pointers
  2. Thanks Demon5h3b (1 members gave Thanks to rdw for this useful post)
  3. #2
    Frosttall's Avatar Active Member
    Reputation
    64
    Join Date
    Feb 2011
    Posts
    261
    Thanks G/R
    16/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    First of all: Don't use the pointer-scan in CE.

    You should use Cheat Engine only in order to find a function which reads/sets the values. Open IDA in order to navigate to that function and work trough the calltree until you reach a static pointer.

    Here's a way to achieve something with the help of Cheat Engine instead of using IDA only:
    An approach for reversing the object manager would be to find out at which position (relative to the object pointer) the coordinates are stored and subtract that offset from the memory-location you've determine for the coordinates. The new value is the object pointer - a read-hook would bring you sooner or later to a function which manages all objects (aka a function which enumerates all objects inside the object manager) and you'll be able to reverse that function with the same pattern as above until you reach a static address.


    P.S.: There are easier ways, but this is one which is easier to understand for newcomers rather than reversing everything completely with IDA. Here's a nice tutorial to reverse some easy stuff with IDA: http://www.ownedcore.com/forums/worl...ple-stuff.html ([Tutorial] How to find simple stuff)

    P.P.S. I tried to keep everything as generalized as possible to allow you to use that pattern for reversing other things you found with Cheat Engine. You will have to use IDA either sooner or later anyways - so try to take small steps.
    Last edited by Frosttall; 09-24-2013 at 12:57 PM.

  4. #3
    rdw's Avatar Active Member
    Reputation
    28
    Join Date
    May 2012
    Posts
    81
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    So the right path should be finding a function that r/w the address and reverse it with ida/olly to find the playerbase through the callstack?

  5. #4
    Frosttall's Avatar Active Member
    Reputation
    64
    Join Date
    Feb 2011
    Posts
    261
    Thanks G/R
    16/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by rdw View Post
    So the right path should be finding a function that r/w the address and reverse it with ida/olly to find the playerbase through the callstack?
    Yes, something along those lines - even tho I don't really remember if it's the playerbase or the ObjectManager you need at that point. Either way, you can start using Cheat Engine and continue to reverse with IDA (xrefs and searching for strings is a nice feature ).

Similar Threads

  1. noob question about custom classes and mpq
    By Shogun7 in forum WoW ME Questions and Requests
    Replies: 0
    Last Post: 06-24-2008, 06:33 AM
  2. I need help with multi-level pointers in CE
    By Phygar in forum WoW Memory Editing
    Replies: 0
    Last Post: 01-31-2008, 04:38 PM
  3. noob question about getting a new acc
    By obe1knobee in forum World of Warcraft General
    Replies: 7
    Last Post: 12-18-2007, 12:56 AM
  4. Help Finding Multi-Level Pointers....
    By Mutated Carpet People in forum World of Warcraft General
    Replies: 0
    Last Post: 03-05-2007, 12:31 AM
All times are GMT -5. The time now is 11:32 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search