Getting players names menu

User Tag List

Results 1 to 13 of 13
  1. #1
    andy2002ua's Avatar Active Member
    Reputation
    23
    Join Date
    Aug 2008
    Posts
    42
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Getting players names

    Is any other method to read player name (not own, but any other players in visible range) except as searching in cache DB records?
    Trying to find any offsets, like a units and gameobjects names have, but still unsuccessfully. I know about injections, but still want to
    use memory reading only.

    Thanks for any help and sorry for my english

    Getting players names
  2. #2
    schlumpf's Avatar Retired Noggit Developer

    Reputation
    755
    Join Date
    Nov 2006
    Posts
    2,759
    Thanks G/R
    0/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Iterate over objects in manager, check for type, if player, get name, add to list.

  3. #3
    andy2002ua's Avatar Active Member
    Reputation
    23
    Join Date
    Aug 2008
    Posts
    42
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Have a problem right here. Can't find any pointers to player name in player objects.
    This offsets :
    unitName1 = 0x91C, // CGUnit_C__GetUnitName
    unitName2 = 0x64, // CGUnit_C__GetUnitName
    valid only for units which is not players.
    Looking in CGUnit_C__GetUnitName I find checking for OBJECT_FIELD_TYPE and using
    this pointers only for OBJECT_FIELD_TYPE = 0008h. Otherwise function looking in cache database.
    Last edited by andy2002ua; 08-23-2011 at 03:45 PM.

  4. #4
    schlumpf's Avatar Retired Noggit Developer

    Reputation
    755
    Join Date
    Nov 2006
    Posts
    2,759
    Thanks G/R
    0/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Then fire up IDA and look for the same method in the vtable of CGPlayer_C. Or, as its in the vtable, just call it, as the entry will be the same as the one for CGUnit_C.

  5. #5
    JuJuBoSc's Avatar Banned for scamming CoreCoins Purchaser
    Reputation
    1019
    Join Date
    May 2007
    Posts
    922
    Thanks G/R
    1/3
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Player name is only in the cache database

  6. #6
    andy2002ua's Avatar Active Member
    Reputation
    23
    Join Date
    Aug 2008
    Posts
    42
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Many thanks. Find some outdated but useful info about cache structure here: ([C#] Get quests cached information) Now will torture IDA for name cache address. If someone have actual numbers, I'll glad to see it in this thread. In any case, thx for right direction.

  7. #7
    miceiken's Avatar Contributor Authenticator enabled
    Reputation
    209
    Join Date
    Dec 2007
    Posts
    401
    Thanks G/R
    7/9
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    There must be atleast 10 threads about reading player names on this forum, I expect the offsets are in the Info Dump Thread...

    Cheers to good old searching and spoonfeeding http://www.ownedcore.com/forums/worl...ml#post2095289 ([WoW][4.2.0.14333] Info Dump Thread)

    Here's some very old code:
    Code:
            public override string Name
            {
                get
                {
                    ulong mask, base_, offset, current, myGUID, currentGUID;
    
                    mask = Memory.Read<UInt32>(Memory.BaseAddress + Pointers.NamePointers.NAME_STORE + Pointers.NamePointers.NAME_MASK);
                    base_ = Memory.Read<UInt32>(Memory.BaseAddress + Pointers.NamePointers.NAME_STORE + Pointers.NamePointers.NAME_BASE);
    
                    myGUID = this.GUID & 0xFFFFFFFF;
                    offset = 12 * (mask & myGUID);
    
                    current = Memory.Read<UInt32>((uint)(base_ + offset + 8));
                    offset = Memory.Read<UInt32>((uint)(base_ + offset));
    
                    if ((current & 0x1) == 0x1) { return ""; }
    
                    currentGUID = Memory.Read<UInt32>((uint)(current));
    
                    while (currentGUID != myGUID)
                    {
                        current = Memory.Read<UInt32>((uint)(current + offset + 4));
    
                        if ((current & 0x1) == 0x1) { return ""; }
                        currentGUID = Memory.Read<UInt32>((uint)(current));
                    }
    
                    return Memory.Read<string>((uint)(current + Pointers.NamePointers.NAME_STRING));
                }
            }
    Last edited by miceiken; 08-23-2011 at 05:27 PM.

  8. #8
    andy2002ua's Avatar Active Member
    Reputation
    23
    Join Date
    Aug 2008
    Posts
    42
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Ooh ... I feel blind. Using this thread 1000 times and miss cache offsets.
    Sprinkle ashes on my head ((

  9. #9
    Jadd's Avatar 🐸 Premium Seller
    Reputation
    1515
    Join Date
    May 2008
    Posts
    2,433
    Thanks G/R
    81/336
    Trade Feedback
    1 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Use lua.

    (filler)

  10. #10
    andy2002ua's Avatar Active Member
    Reputation
    23
    Join Date
    Aug 2008
    Posts
    42
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Jadd, I want to limit memory reading only. I plan to use injections in future, but need to expand my knowledge first. I don't like just copypasting code without knowledge of the essence of what I do. Now working on enumerating name database records. Any advices in this direction will be great.

  11. #11
    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)
    If you're going to use injection sometime anyway, why not use it now? You're more likely to end up copy-pasting sh*t when you try to do only memory reading because the Cache is confusing. You can let WoW do all those crazy memory reads while you simply call a function. There's plenty of information on injection here for you to be able to jump into it.

  12. #12
    andy2002ua's Avatar Active Member
    Reputation
    23
    Join Date
    Aug 2008
    Posts
    42
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I have a paranoid idea that injections more detectable then process memory reading. Botting is my main livelihood now and thought about the loss of all my accounts made ​​me to be careful.

  13. #13
    Cypher's Avatar Kynox's Sister's Pimp
    Reputation
    1358
    Join Date
    Apr 2006
    Posts
    5,368
    Thanks G/R
    0/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    This thread is retarded. Use search.

Similar Threads

  1. [Bot] how can i get player name?
    By bisfs in forum WoW Memory Editing
    Replies: 7
    Last Post: 08-08-2014, 02:52 AM
  2. [C++ Script] [Trinity] How do i get a mob to say a player name?
    By controlsx2 in forum WoW EMU Questions & Requests
    Replies: 0
    Last Post: 07-31-2011, 01:16 PM
  3. [Code Release] C#, Out Of Process - Get Player Name
    By SwInY in forum WoW Memory Editing
    Replies: 4
    Last Post: 05-04-2011, 04:31 PM
  4. Problem getting NPC/Player names
    By jpbanon in forum WoW Memory Editing
    Replies: 1
    Last Post: 03-13-2010, 04:18 AM
  5. how to get player tradition chinese name
    By j121780im in forum WoW Memory Editing
    Replies: 8
    Last Post: 01-16-2009, 05:59 AM
All times are GMT -5. The time now is 12:28 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