Help w/ Obj Dumper (3.0.3) menu

User Tag List

Results 1 to 7 of 7
  1. #1
    luciferc's Avatar Contributor
    Reputation
    90
    Join Date
    Jul 2008
    Posts
    373
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Help w/ Obj Dumper (3.0.3)

    Okay so i have an Object Dumper working in C# and it dumps all the GUIDs, Baseaddrs and types so far.

    So i was reading Cypher's Memory List for 3.0.2 (Thanks for it) and i plugged in the Offset for MaxHP as a Test and what it returned wasn't that.

    0x1F - Maxhp
    Code:
    foreach (Object o in WowObjects)
                    {
                        Console.WriteLine("0x{0:X08} -- GUID:0x{1:X016} -- Type:{2}",
                            o.OBJECT_FIELD_BASEADRESS,
                            o.OBJECT_FIELD_GUID,
                            o.OBJECT_FIELD_TYPE);
                        if (o.OBJECT_FIELD_TYPE == 4)
                            Console.WriteLine(Memory.ReadInt(hProcess, (Memory.ReadUInt(hProcess, o.OBJECT_FIELD_BASEADRESS + 0x08)) + 0x1F * 4));
                    }
    EX: Output
    Code:
    ...
    0x167CF7D8 -- GUID:0x0000000002B3FE6F -- Type:4
    2147483647 <<<--HP ValueMax
    ...
    0x07BB73A4 -- GUID:0x0000000001D7EB56 -- Type:4
    2147483647
    ...
    I must be doing something wrong but not sure what.

    Help w/ Obj Dumper (3.0.3)
  2. #2
    lanman92's Avatar Active Member
    Reputation
    50
    Join Date
    Mar 2007
    Posts
    1,033
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Read a couple pages in the sticked 3.0.2 thread, it says how you retrieve these values. I think it's add 0x8 to objBase and add (17*4) to that, but go look, I might be wrong.

  3. #3
    luciferc's Avatar Contributor
    Reputation
    90
    Join Date
    Jul 2008
    Posts
    373
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Console.WriteLine(Memory.ReadInt(hProcess, (Memory.ReadUInt(hProcess, o.OBJECT_FIELD_BASEADRESS + 0x0) + 0x1F * 4));

    It adds 0x08 and then the offset * 4.
    Last edited by luciferc; 11-15-2008 at 11:30 PM.

  4. #4
    Shynd's Avatar Contributor
    Reputation
    97
    Join Date
    May 2008
    Posts
    393
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    unsigned int m_pStorage3; // 0x0108 - 0x010C
    I may be wrong.

  5. #5
    Cypher's Avatar Kynox's Sister's Pimp
    Reputation
    1356
    Join Date
    Apr 2006
    Posts
    5,368
    Thanks G/R
    0/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Shynd View Post
    I may be wrong.
    There are two main pointers. One is at 0x8, the other at 0x108.

    The difference is that 0x8 always points to the base of the descriptor array (the OBJECT fields), the 0x108 pointer always points to the 'type' of the object from memory, either that or always unit, either way if you're using the descriptors I dumped (which I suspect/assume he is) then you want to use the 0x8 one as I always use it and as such have dumped the descriptors with 'inheritance'.

  6. #6
    Nesox's Avatar ★ Elder ★
    Reputation
    1280
    Join Date
    Mar 2007
    Posts
    1,238
    Thanks G/R
    0/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by luciferc View Post
    Console.WriteLine(Memory.ReadInt(hProcess, (Memory.ReadUInt(hProcess, o.OBJECT_FIELD_BASEADRESS + 0x0) + 0x1F * 4));

    It adds 0x08 and then the offset * 4.
    ure not doing anthing wrong as far as i can see, try this.

    Code:
    UInt64 localGUID = Memory.ReadUInt64(hProcess, (ObjectManager.s_curMgr + 0xC0));
    
    if (localGUID == o.OBJECT_FIELD_GUID)
    {
             int cur_hp = Memory.ReadInt(hProcess, (Memory.ReadUInt(hProcess, o.OBJECT_FIELD_BASEADRESS + 0x08)) + 0x17 * 4);
             int max_hp = Memory.ReadInt(hProcess, (Memory.ReadUInt(hProcess, o.OBJECT_FIELD_BASEADRESS + 0x08)) + 0x1F * 4);
             Console.WriteLine("Your hp iS:{0}/{1}", cur_hp, max_hp);
    
     }

  7. #7
    luciferc's Avatar Contributor
    Reputation
    90
    Join Date
    Jul 2008
    Posts
    373
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    will try when i get home

Similar Threads

  1. [New Model] Need help please, .max, .obj, .mtl -> .m2 & .skin
    By Caros2013 in forum WoW ME Questions and Requests
    Replies: 2
    Last Post: 02-17-2012, 08:51 AM
  2. [help request] dual boxing - managing memory/obj list
    By abuckau907 in forum Programming
    Replies: 1
    Last Post: 01-24-2010, 10:52 PM
  3. .M2 -> .Obj - > 3ds Max (Image doesn't appaer) +rep for help
    By GoofyXVI in forum WoW ME Questions and Requests
    Replies: 2
    Last Post: 07-26-2009, 05:00 PM
  4. [3.0.9] Descriptors dumper by Kynox [Help]
    By naa in forum WoW Memory Editing
    Replies: 10
    Last Post: 04-14-2009, 01:56 PM
  5. [HELP] cant get Obj->Interact() to work.
    By cenron in forum WoW Memory Editing
    Replies: 16
    Last Post: 12-07-2008, 08:10 PM
All times are GMT -5. The time now is 06:14 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search