Reading object and character names menu

User Tag List

Page 2 of 2 FirstFirst 12
Results 16 to 27 of 27
  1. #16
    Givi88's Avatar Member
    Reputation
    1
    Join Date
    Nov 2020
    Posts
    2
    Thanks G/R
    5/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Razzue View Post
    Almost like you could have just read my field offsets from here..... wor...d-45327-a.html Post #7
    Oh, i got it from a more fresher post https://www.ownedcore.com/forums/wor...ml#post4381690

    And did not even notice that you shared the same offsets in OP post xd

    Reading object and character names
  2. #17
    Hrap's Avatar Member
    Reputation
    12
    Join Date
    Oct 2018
    Posts
    111
    Thanks G/R
    12/4
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Givi88 View Post
    I also share how to get unit name. Tried to find this for the past two days
    [[GameObject + 0x380] + 0xF8] => Unit Name
    I kind of laid out a working example of reading GameObject name...


    Code:
                                                    char* GetNameObj(DWORD_PTR objEntry)
                                                   {
    						    DWORD_PTR namePtr = RemouteMemory->Read<DWORD_PTR>(objEntry+ 0x148);
    					       	    DWORD_PTR namePtr2 = RemouteMemory->Read<DWORD_PTR>(namePtr + 0xE0);
    						         if (namePtr2 != 0){
                                                                   return   (char*)RemouteMemory->ReadBytes(namePtr2, 64);
                                                            }
                                                        return "Neme read error";
                                                   }
    It is also important to understand that for different types of objects
    names are reading differently
    Last edited by Hrap; 10-13-2022 at 03:59 AM.

  3. Thanks Heroku (1 members gave Thanks to Hrap for this useful post)
  4. #18
    ermite66's Avatar Member
    Reputation
    11
    Join Date
    May 2014
    Posts
    36
    Thanks G/R
    5/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Hrap View Post
    I kind of laid out a working example of reading GameObject name...


    Code:
                                                    char* GetNameObj(DWORD_PTR objEntry)
                                                   {
    						    DWORD_PTR namePtr = RemouteMemory->Read<DWORD_PTR>(objEntry+ 0x148);
    					       	    DWORD_PTR namePtr2 = RemouteMemory->Read<DWORD_PTR>(namePtr + 0xE0);
    						         if (namePtr2 != 0){
                                                                   return   (char*)RemouteMemory->ReadBytes(namePtr2, 64);
                                                            }
                                                        return "Neme read error";
                                                   }
    It is also important to understand that for different types of objects
    names are reading differently
    you read objects array from [[WowClassic.exe + 0x3022EA0] + 0x8] ?

  5. Thanks Heroku (1 members gave Thanks to ermite66 for this useful post)
  6. #19
    Hrap's Avatar Member
    Reputation
    12
    Join Date
    Oct 2018
    Posts
    111
    Thanks G/R
    12/4
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Yes
    Code:
            unsigned int count = RemouteMemory->Read<unsigned int>(RemouteMemory->Read<DWORD_PTR>(RemouteMemory->WowInfo.WowBaseAdrtess + 0x3022EA0));   // CurMgr 
    	DWORD_PTR arrayaddr = RemouteMemory->Read<DWORD_PTR>(RemouteMemory->Read<DWORD_PTR>(RemouteMemory->WowInfo.WowBaseAdrtess + 0x3022EA0) + 0x8); //array adress

  7. Thanks ermite66, Heroku (2 members gave Thanks to Hrap for this useful post)
  8. #20
    ermite66's Avatar Member
    Reputation
    11
    Join Date
    May 2014
    Posts
    36
    Thanks G/R
    5/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Hrap View Post
    Yes
    Code:
            unsigned int count = RemouteMemory->Read<unsigned int>(RemouteMemory->Read<DWORD_PTR>(RemouteMemory->WowInfo.WowBaseAdrtess + 0x3022EA0));   // CurMgr 
    	DWORD_PTR arrayaddr = RemouteMemory->Read<DWORD_PTR>(RemouteMemory->Read<DWORD_PTR>(RemouteMemory->WowInfo.WowBaseAdrtess + 0x3022EA0) + 0x8); //array adress
    And what am I reading wrong? Names always empty ...

    Code:
    if (g_pGame->IsInGame())
    			{
    				DWORD_PTR ManagerBase = g_pProcess->Read<DWORD_PTR>(g_pProcess->GetBase() + Offsets::Object_Manager::Base);
    				int ObjCount = g_pProcess->Read<int>(ManagerBase);
    
    				DWORD_PTR PtrArrayAdr = g_pProcess->Read<DWORD_PTR>(ManagerBase + 0x8);
    
    				DWORD_PTR* ObjPtrArray = new DWORD_PTR[ObjCount];
    
    				g_pProcess->Read(PtrArrayAdr, ObjPtrArray, sizeof(DWORD64) * ObjCount);
    
    				for (int i = 0; i < ObjCount; i++)
    				{
    					DWORD_PTR ObjPtr = ObjPtrArray[i];
    					if (ObjPtr == 0)
    						continue;
    
    					DWORD_PTR namePtr = g_pProcess->Read<DWORD_PTR>(ObjPtr + 0x148);
    					DWORD_PTR namePtr2 = g_pProcess->Read<DWORD_PTR>(namePtr + 0xE0);
    					if (namePtr2 != 0)
    					{
    						char nam[64]{0};
    						g_pProcess->Read(namePtr2, &nam, 64);
    
    						printf("name = %s\n", nam);
    					}
    				}
    
    				delete[] ObjPtrArray;

  9. Thanks Heroku (1 members gave Thanks to ermite66 for this useful post)
  10. #21
    Razzue's Avatar Contributor Avid Ailurophile

    CoreCoins Purchaser Authenticator enabled
    Reputation
    379
    Join Date
    Jun 2017
    Posts
    588
    Thanks G/R
    186/268
    Trade Feedback
    2 (100%)
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by ermite66 View Post
    And what am I reading wrong? Names always empty ...

    Code:
    if (g_pGame->IsInGame())
    			{
    				DWORD_PTR ManagerBase = g_pProcess->Read<DWORD_PTR>(g_pProcess->GetBase() + Offsets::Object_Manager::Base);
    				int ObjCount = g_pProcess->Read<int>(ManagerBase);
    
    				DWORD_PTR PtrArrayAdr = g_pProcess->Read<DWORD_PTR>(ManagerBase + 0x8);
    
    				DWORD_PTR* ObjPtrArray = new DWORD_PTR[ObjCount];
    
    				g_pProcess->Read(PtrArrayAdr, ObjPtrArray, sizeof(DWORD64) * ObjCount);
    
    				for (int i = 0; i < ObjCount; i++)
    				{
    					DWORD_PTR ObjPtr = ObjPtrArray[i];
    					if (ObjPtr == 0)
    						continue;
    
    					DWORD_PTR namePtr = g_pProcess->Read<DWORD_PTR>(ObjPtr + 0x148);
    					DWORD_PTR namePtr2 = g_pProcess->Read<DWORD_PTR>(namePtr + 0xE0);
    					if (namePtr2 != 0)
    					{
    						char nam[64]{0};
    						g_pProcess->Read(namePtr2, &nam, 64);
    
    						printf("name = %s\n", nam);
    					}
    				}
    
    				delete[] ObjPtrArray;
    You're missing an entire step in your object manager loop.

    Where's the entry address? Where's your while loop that looks for linked entries? There are MANY valid, working examples of the object manager with the first three pages of the memory editing forums.
    "May all your bacon burn"

  11. #22
    ermite66's Avatar Member
    Reputation
    11
    Join Date
    May 2014
    Posts
    36
    Thanks G/R
    5/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Razzue View Post
    You're missing an entire step in your object manager loop.

    Where's the entry address? Where's your while loop that looks for linked entries? There are MANY valid, working examples of the object manager with the first three pages of the memory editing forums.
    Your example iterates only units.

    See screen , only units, i read many posts in forum , they read (mgr_base + firs_obj) and next iterate while (first_obj + next_obj) != 0 like std::vector
    Снимок.JPG
    Code:
    DWORD_PTR ManagerBase = g_pProcess->Read<DWORD_PTR>(g_pProcess->GetBase() + Offsets::Object_Manager::Base);
    
    				int Count = g_pProcess->Read<int>(ManagerBase);
    				
    				DWORD_PTR PtrArrayAdr = g_pProcess->Read<DWORD_PTR>(ManagerBase + 0x8);
    
    				DWORD_PTR* ptrArr = new DWORD_PTR[Count];
    
    				g_pProcess->Read(PtrArrayAdr, ptrArr, sizeof(DWORD64) * Count);
    
    				for (int i = 0; i < Count; i++)
    				{
    					DWORD_PTR ptr = ptrArr[i];
    
    					if (ptr == 0)
    						continue;
    
    					do
    					{
    						auto entry = g_pProcess->Read<DWORD64>(ptr + 0x18);
    						if (entry == 0)
    							continue;
    
    						CGGuid guid = g_pProcess->Read<CGGuid>(entry + 0x18);
    						auto type = g_pProcess->Read<byte>(entry + 0x10);
    
    						auto Pos = g_pProcess->Read<Vector3>(entry + 0x148);
    						Vector2 vts;
    						bool ScreenPos = g_pGame->WorldToScreenv2(Pos, vts);
    						if (ScreenPos)
    							g_pDrawManager->GetDrawList()->AddCircle(vts, 15.f, ImColor(255, 0, 0, 255));
    
    						ptr = g_pProcess->Read<DWORD64>(ptr + 0x0);
    					} while (ptr != 0);
    				}
    
    				delete[] ptrArr;
    			}
    Last edited by ermite66; 10-14-2022 at 03:09 PM.

  12. #23
    Razzue's Avatar Contributor Avid Ailurophile

    CoreCoins Purchaser Authenticator enabled
    Reputation
    379
    Join Date
    Jun 2017
    Posts
    588
    Thanks G/R
    186/268
    Trade Feedback
    2 (100%)
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by ermite66 View Post
    Your example iterates only units.

    See screen , only units, i read posts , hey read (mgr_base + firs_obj) and next iterate while (first_obj + next_obj) != 0 like std::vector
    Снимок.JPG
    Code:
    DWORD_PTR ManagerBase = g_pProcess->Read<DWORD_PTR>(g_pProcess->GetBase() + Offsets::Object_Manager::Base);
    
    				int Count = g_pProcess->Read<int>(ManagerBase);
    				
    				DWORD_PTR PtrArrayAdr = g_pProcess->Read<DWORD_PTR>(ManagerBase + 0x8);
    
    				DWORD_PTR* ptrArr = new DWORD_PTR[Count];
    
    				g_pProcess->Read(PtrArrayAdr, ptrArr, sizeof(DWORD64) * Count);
    
    				for (int i = 0; i < Count; i++)
    				{
    					DWORD_PTR ptr = ptrArr[i];
    
    					if (ptr == 0)
    						continue;
    
    					do
    					{
    						auto entry = g_pProcess->Read<DWORD64>(ptr + 0x18);
    						if (entry == 0)
    							continue;
    
    						CGGuid guid = g_pProcess->Read<CGGuid>(entry + 0x18);
    						auto type = g_pProcess->Read<byte>(entry + 0x10);
    
    						auto Pos = g_pProcess->Read<Vector3>(entry + 0x148);
    						Vector2 vts;
    						bool ScreenPos = g_pGame->WorldToScreenv2(Pos, vts);
    						if (ScreenPos)
    							g_pDrawManager->GetDrawList()->AddCircle(vts, 15.f, ImColor(255, 0, 0, 255));
    
    						ptr = g_pProcess->Read<DWORD64>(ptr + 0x0);
    					} while (ptr != 0);
    				}
    
    				delete[] ptrArr;
    			}
    Funny... When the image I posted shortly after clearly shows units, game objects AND a dynamic object, all of which are grabbed from my object manager

    But you can keep doing it wrong, fine by me. 🤷*♂️

    I'll keep doing it thr right way, on top of having a functional bot
    overlayed — ImgBB
    Last edited by Razzue; 10-14-2022 at 03:13 PM.
    "May all your bacon burn"

  13. #24
    ermite66's Avatar Member
    Reputation
    11
    Join Date
    May 2014
    Posts
    36
    Thanks G/R
    5/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Razzue View Post
    Funny... When the image I posted shortly after clearly shows units, game objects AND a dynamic object, all of which are grabbed from my object manager

    But you can keep doing it wrong, fine by me. 🤷*♂️
    I cant figure out what Im doing wrong...

    Code:
    auto entry = g_pProcess->Read<DWORD64>(ptr + 0x18);
    its object ptr ?

  14. #25
    Razzue's Avatar Contributor Avid Ailurophile

    CoreCoins Purchaser Authenticator enabled
    Reputation
    379
    Join Date
    Jun 2017
    Posts
    588
    Thanks G/R
    186/268
    Trade Feedback
    2 (100%)
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by ermite66 View Post
    I cant figure out what Im doing wrong...

    Code:
    auto entry = g_pProcess->Read<DWORD64>(ptr + 0x18);
    its object ptr ?
    Read a few pages of posts in these forums and you'll see exactly what you're doing wrong. I'm not going to spoon-feed you when this info has been provided multiple times already.

    Hint: Units != Objects and they do NOT have the same field offsets
    "May all your bacon burn"

  15. #26
    ermite66's Avatar Member
    Reputation
    11
    Join Date
    May 2014
    Posts
    36
    Thanks G/R
    5/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    .....................................
    Last edited by ermite66; 10-16-2022 at 07:03 AM.

  16. #27
    ExcitableEquestrian9's Avatar Member
    Reputation
    1
    Join Date
    Feb 2023
    Posts
    2
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Anyone got any good tutorial and or resources for reading/writing memory with C#/.NETCore 7? Is there any memory reading writing library like BlackMagic but updated? Really want to get into this but I can never make it over the first edge finding out where to begin.

    I know how to program in C# its just this memory editing i cant figure out how to get started with.

Page 2 of 2 FirstFirst 12

Similar Threads

  1. Replies: 0
    Last Post: 09-08-2016, 07:16 AM
  2. Ticket a gm to reset inactive character name, snag and sell.
    By Paperboi in forum World of Warcraft Exploits
    Replies: 3
    Last Post: 09-26-2012, 08:42 AM
  3. [How to]Get the character name (And save it) you want! (Possibly)
    By Chexer in forum World of Warcraft Guides
    Replies: 9
    Last Post: 10-20-2009, 05:06 PM
  4. [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
  5. [?] Reading Object Name
    By Smarter in forum WoW Memory Editing
    Replies: 4
    Last Post: 04-03-2009, 08:03 PM
All times are GMT -5. The time now is 03:53 PM. 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