C++ finding the PlayObject menu

User Tag List

Results 1 to 9 of 9
  1. #1
    geograman's Avatar Member
    Reputation
    1
    Join Date
    Aug 2011
    Posts
    7
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    C++ finding the PlayObject

    Hi guys I have been trying to find the Name and HP var of my Player for several days now.
    I have red a lot of tuts but somehow it wont work i realy dont know whats wrong with it ....

    I will show you this part of my code therefore and how i trie to do it:

    Code:
    int PlayerBasePointer = 0xA2FC40;
    int PlayerBaseOffset1 = 0x38;
    int PlayerBaseOffset2 = 0x24;
    int PlayerUnitSpeedOffset = 0x814;
    int PlayerUnitName = 0x97DA88;
    char name[50]= "empty";
    
    int pointerStep1;
    int pointerStep2;
    int pointerStep3;
    int ModuleBase;
    
    DWORD Addr,valueAdress;
    ReadProcessMemory(hGame,(LPVOID)Addr,&valueAdress,sizeof(int),0);
    
    ModuleBase = valueAdress;
    
    ReadProcessMemory(hGame, (LPVOID) (ModuleBase + PlayerBasePointer), &pointerStep1, sizeof(pointerStep1), 0);
    ReadProcessMemory(hGame, (LPVOID) (pointerStep1 + PlayerBaseOffset1), &pointerStep2, sizeof(pointerStep2), 0);
    ReadProcessMemory(hGame, (LPVOID) (pointerStep2 + PlayerBaseOffset2), &pointerStep3, sizeof(pointerStep3), 0);
    ReadProcessMemory(hGame, (LPVOID) (pointerStep3 + PlayerUnitName), &name, sizeof(name), 0);
    
    printf("Name %s\n",name);
    It is everything ok with my gameHandle "hGame" I can read an write to WoW Memory it tried this befor with adresses i found with Cheatenginge.

    Ich would be very gratefull if you could have a look at it.

    Thank you very much

    Geograman

    C++ finding the PlayObject
  2. #2
    sitnspinlock's Avatar Elite User CoreCoins Purchaser
    Reputation
    398
    Join Date
    Sep 2010
    Posts
    439
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    you shouldn't be using signed integers as mem buffers. Use unsigned integers instead.

    also you should never cast to void* like so (modulebase+offset) the result can be unpredictable.

  3. #3
    MaiN's Avatar Elite User
    Reputation
    335
    Join Date
    Sep 2006
    Posts
    1,047
    Thanks G/R
    0/10
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by everdox View Post
    you shouldn't be using signed integers as mem buffers. Use unsigned integers instead.

    also you should never cast to void* like so (modulebase+offset) the result can be unpredictable.
    While he shouldn't, this can't be the problem seeing how signed/unsigned integers work exactly the same in the CPU because of two's complement.

    Code:
    DWORD Addr,valueAdress; ReadProcessMemory(hGame,(LPVOID)Addr,&valueAdress,sizeof(int),0);


    'Addr' is uninitialized - you are reading from a random address. Your compiler should even be warning you against this.
    [16:15:41] Cypher: caus the CPU is a dick
    [16:16:07] kynox: CPU is mad
    [16:16:15] Cypher: CPU is all like
    [16:16:16] Cypher: whatever, i do what i want

  4. #4
    geograman's Avatar Member
    Reputation
    1
    Join Date
    Aug 2011
    Posts
    7
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hey guys i have slightly changed my code now... but after step 1 in points into some crap ... so it still doenst work but at least i get the baseadress for me at the moment its 00C40000

    Code:
    unsigned int PlayerBasePointer = 0xA2FC40;
    	unsigned int PlayerBaseOffset1 = 0x38;
    	unsigned int PlayerBaseOffset2 = 0x24;
    	unsigned int PlayerUnitSpeedOffset = 0x814;
    	unsigned int PlayerUnitName = 0x97DA88;
    
    	unsigned int pointerStep1;
    	unsigned int pointerStep2;
    	unsigned int pointerStep3;
    	unsigned int ModuleBase = 0;
    
    	HANDLE hSnap;
    
    	MODULEENTRY32 xModule;
    
    	hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, 6180);
    
    	xModule.dwSize = sizeof(MODULEENTRY32);
    
    	if (Module32First(hSnap, &xModule))
    	{
    
    		printf("ModuleName: %s\n",xModule.szModule);
    		ModuleBase = (UINT_PTR)xModule.modBaseAddr;
    		system("pause");
    		
    	}
    
    	printf("Base %p \n",ModuleBase);
    	system("pause");
    
    	ReadProcessMemory(hGame, (LPVOID) (ModuleBase + PlayerBasePointer), &pointerStep1, sizeof(pointerStep1), 0);
    	ReadProcessMemory(hGame, (LPVOID) (pointerStep1 + PlayerBaseOffset1), &pointerStep2, sizeof(pointerStep2), 0);
    	ReadProcessMemory(hGame, (LPVOID) (pointerStep2 + PlayerBaseOffset2), &pointerStep3, sizeof(pointerStep3), 0);
    	ReadProcessMemory(hGame, (LPVOID) (pointerStep3 + PlayerUnitName), &name, sizeof(name), 0);
    
    	printf("Name %s\n",name);
    
    	system("pause");
    musst be still something wrong ....

  5. #5
    gononono64's Avatar Contributor
    Reputation
    100
    Join Date
    Jul 2009
    Posts
    85
    Thanks G/R
    1/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi! My name is Devon and I’m an alcoholic. Moving on…
    https://www.ownedcore.com/forums/world-of-warcraft/world-of-warcraft-bots-programs/wow-memory-editing/319172-guide-how-make-wow-bot-complete-newbs.html

  6. #6
    hamburger12's Avatar Contributor CoreCoins Purchaser
    Reputation
    87
    Join Date
    Jan 2010
    Posts
    297
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    First the playername is a static pointer. You just have to read

    wowbase+namepointer.

    Your next Problem is that you also have to add the wowbase to the first playerbase Adressen pseudo:

    Uint playerbase = Read(wowbase + playerbasepointer)
    playerbase = Read(playerbase+offset1)
    playerbase = Read(playerbase+offset2)
    uint UnitPlayer = Read(playerbase + 0x

    For HP and all unitstuff you have to use the player unit handle. For pos speed the normal handle

    Best regards Hamburger

  7. #7
    geograman's Avatar Member
    Reputation
    1
    Join Date
    Aug 2011
    Posts
    7
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    PlayerObject

    Hey Guys,

    Thx a lot I got it working now here is my code:

    Code:
    unsigned int PlayerBasePointer = 0xA2FC40;
    	unsigned int PlayerBaseOffset1 = 0x38;
    	unsigned int PlayerBaseOffset2 = 0x24;
    	unsigned int PlayerUnitSpeedOffset = 0x814;
    	unsigned int PlayerUnitName = 0x97DA88;
    
    	unsigned int pointerStep1;
    	unsigned int pointerStep2;
    	unsigned int pointerStep3;
    	unsigned int ModuleBase = 0;
    
    	HANDLE hSnap;
    
    	MODULEENTRY32 xModule;
    
    	hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, 6088);
    
    	xModule.dwSize = sizeof(MODULEENTRY32);
    
    	if (Module32First(hSnap, &xModule))
    	{
    
    		printf("ModuleName: %s\n",xModule.szModule);
    		ModuleBase = (UINT_PTR)xModule.modBaseAddr;
    		system("pause");
    		
    	}
    
    	printf("Base %p \n",ModuleBase);
    	system("pause");
    
    	unsigned int ModuleBasePointer;
    
    	ReadProcessMemory(hGame, (LPVOID) (ModuleBase + PlayerBasePointer), &pointerStep1, sizeof(pointerStep1), 0);
    	ReadProcessMemory(hGame, (LPVOID) (pointerStep1 + PlayerBaseOffset1), &pointerStep2, sizeof(pointerStep2), 0);
    	ReadProcessMemory(hGame, (LPVOID) (pointerStep2 + PlayerBaseOffset2), &pointerStep3, sizeof(pointerStep3), 0);
    
    	ReadProcessMemory(hGame, (LPVOID) (ModuleBase + PlayerUnitName), &name, sizeof(name), 0);
    	printf("Adress %p Name %s\n",(ModuleBase + PlayerBasePointer),name);
    
    	ReadProcessMemory(hGame, (LPVOID) (pointerStep3 + 0x000011C8), &HP, sizeof(HP), 0);
    	printf("HP %d Adress %p",HP,(pointerStep3 + 0x000011C8));
    
    	system("pause");
    Now i have the HP and my Name the last thing I still need is X/Y/Z and Rotation ... I guess I need to use the objectmanager therefore dont I ?

    Thx again

  8. #8
    hamburger12's Avatar Contributor CoreCoins Purchaser
    Reputation
    87
    Join Date
    Jan 2010
    Posts
    297
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    No just add the x y z offset to playerbase float

  9. #9
    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)
    Read the rules and do some basic research. This shit doesn't belong here.

Similar Threads

  1. where is that guide to finding the memory-address which Enables model editing
    By mikesanders in forum WoW ME Questions and Requests
    Replies: 2
    Last Post: 07-12-2007, 11:19 PM
  2. Help me find the model :D
    By ven in forum WoW ME Questions and Requests
    Replies: 0
    Last Post: 04-10-2007, 03:16 AM
  3. Cannot find the files to edit :(
    By Rekro in forum WoW ME Questions and Requests
    Replies: 6
    Last Post: 01-01-2007, 06:07 PM
  4. Finding the .blp-files to Striker's Set
    By Violence in forum World of Warcraft General
    Replies: 0
    Last Post: 10-04-2006, 06:02 PM
  5. Find The Flag Carrier In WSG
    By impulse102 in forum World of Warcraft Exploits
    Replies: 20
    Last Post: 07-29-2006, 12:48 PM
All times are GMT -5. The time now is 10:15 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