3.1.1 Reading Unit Names menu

User Tag List

Results 1 to 10 of 10
  1. #1
    tanis2000's Avatar Active Member
    Reputation
    39
    Join Date
    Feb 2009
    Posts
    123
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    3.1.1 Reading Unit Names

    With 3.0.9 I used this code to read a Unit name given the Unit pointer:

    Code:
            
    private string GetUnitName(uint unit)
            {
                uint aaa = ProcessManager.WowProcess.ReadUInt((unit + 0x970));
                return ProcessManager.WowProcess.ReadASCIIString(ProcessManager.WowProcess.ReadUInt((aaa + 0x3C)), 40);
            }
    It worked but I want to get rid of that 0x970 which is ugly and does not work anymore for 3.1.1

    The problem is that I have no clue if there's a formula to calculate that offset or if it can be read somewhere else? Any idea?

    Is there a linked list just like for players that I should go through or anything else?

    3.1.1 Reading Unit Names
  2. #2
    Apoc's Avatar Angry Penguin
    Reputation
    1388
    Join Date
    Jan 2008
    Posts
    2,750
    Thanks G/R
    0/13
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I don't know how many more times, or ways, we can answer this same question. Enjoy your infraction.

  3. #3
    tanis2000's Avatar Active Member
    Reputation
    39
    Join Date
    Feb 2009
    Posts
    123
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Find me a signature to look for the different kind of structures and I'll be happy

    The forum is full of posts of people reading this stuff through offsets exactly like I am doing or by looking at the VMT and injecting code to call the virtual function to retrieve the unit name, which is not what I want to do either.

    I want to stick to OOP reading but it's hard to find a reference to the different structures on the forum.

    As a proposal.. it'd be nice to put all of that knowledge into something readable and purged of the crap that comes up when you run searches

  4. #4
    SKU's Avatar Contributor
    Reputation
    306
    Join Date
    May 2007
    Posts
    565
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    *hopes the thread does not mysteriously close again*

    You don't want offsets and you don't want to call the VM yet you mention 'structures'? Structures and offsets go hand in hand.

    Anyway, because I'm insanely bored:

    Code:
    Object:
    .text:00598210 sub_598210      proc near               ; CODE XREF: sub_6A0990+F8p
    .text:00598210                                         ; sub_6B64F0+75p
    .text:00598210                                         ; DATA XREF: ...
    .text:00598210                 mov     eax, [ecx+1A4h]
    .text:00598216                 test    eax, eax
    .text:00598218                 jz      short loc_598221
    .text:0059821A                 mov     eax, [eax+88h]
    .text:00598220                 retn
    
    ==> pObjectName = [[base + 0x1A4] + 0x88]
    
    Unit:
    .text:005ADBE5 loc_5ADBE5:                             ; CODE XREF: sub_5AD970+1B7j
    .text:005ADBE5                 mov     esi, [esi+968h]
    .text:005ADBEB                 test    esi, esi
    .text:005ADBED                 jz      short loc_5ADBBD
    .text:005ADBEF                 mov     eax, [esi+54h]
    .text:005ADBF2                 pop     edi
    .text:005ADBF3                 pop     esi
    .text:005ADBF4                 pop     ebx
    .text:005ADBF5                 mov     esp, ebp
    .text:005ADBF7                 pop     ebp
    .text:005ADBF8                 retn    8
    .text:005ADBF8 sub_5AD970      endp
    
    ==> pUnitName = [[base + 0x968] + 0x54]
    Do you like 0x968 more? If you want the playernames, enjoy the cache.

  5. #5
    snoke's Avatar Member
    Reputation
    3
    Join Date
    Apr 2009
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by tanis2000 View Post
    Find me a signature to look for the different kind of structures and I'll be happy

    The forum is full of posts of people reading this stuff through offsets exactly like I am doing or by looking at the VMT and injecting code to call the virtual function to retrieve the unit name, which is not what I want to do either.

    I want to stick to OOP reading but it's hard to find a reference to the different structures on the forum.

    As a proposal.. it'd be nice to put all of that knowledge into something readable and purged of the crap that comes up when you run searches
    soo you dont wanna learn anything , you just want offsets? thrust me your cpu does not work in a oop way. i almost wanna cry , there is a wealth of information here all from how you locate those offsets yourself to how you inject your code to do funny stuff and you dont want it because its not oop.

  6. #6
    morgalis's Avatar Member
    Reputation
    1
    Join Date
    Mar 2009
    Posts
    22
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Cool , and any idea where to retrieve Player Name ?

  7. #7
    SKU's Avatar Contributor
    Reputation
    306
    Join Date
    May 2007
    Posts
    565
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

  8. #8
    flo8464's Avatar Active Member
    Reputation
    30
    Join Date
    Apr 2009
    Posts
    434
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hey, sorry for hijacking the thread.

    SKU, if you read this, how and where did you find that sequence of code ?

    I know the question sounds stupid, but I finally want to stop using other peoples work and do something myself.

    My attempt was reversing "UnitName("unit")".

    I am fairly new to reversing, only did easy CrackMes before and wrote ASM-Applications for learning purposes.

    But trying to do it in WoW makes me lose the overview about everything, so many calls the functions I don't know and all of the are calling more and more and with bad luck I end up reversing code which isnt even related a bit to my lua-function.

    How do you start reversing a lua-function? I appreciate help, even if its a One-Liner.

    Thanks !

  9. #9
    SKU's Avatar Contributor
    Reputation
    306
    Join Date
    May 2007
    Posts
    565
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'm lazy, but I roughly said it here: http://www.mmowned.com/forums/wow-me...ml#post1509137

    How to reverse it.. it's not really special. Does a lot of compares to determine the type of the object, then calls the right method to get the object name. Also calls a couple of lua functions to manage the stack (I guess :O).

    I don't know if you use IDA, but the graph view is incredibly useful for the UnitName function and it's subcalls.

  10. #10
    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)
    Most of the calls from the funcs will be lua_***() funcs. They will push, gettop, etc. You can tell because they push the lua state onto the stack. I would just go into the 3.1.2 offset thread and label all of the lua functions in IDA from that. It will make things a lot simpler.

Similar Threads

  1. [Mac][3.2] Finding the object list & reading object names
    By flukes1 in forum WoW Memory Editing
    Replies: 12
    Last Post: 09-22-2009, 09:47 PM
  2. [Help] Reading Player Names
    By nopz in forum WoW Memory Editing
    Replies: 0
    Last Post: 09-15-2009, 05:59 PM
  3. Reading unit name
    By miceiken in forum WoW Memory Editing
    Replies: 10
    Last Post: 04-08-2009, 10:15 PM
  4. [?] Reading Object Name
    By Smarter in forum WoW Memory Editing
    Replies: 4
    Last Post: 04-03-2009, 08:03 PM
  5. Can you read player names out of process?
    By sweeper18 in forum WoW Memory Editing
    Replies: 10
    Last Post: 07-06-2008, 08:54 PM
All times are GMT -5. The time now is 05:31 PM. 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