[Help] PlayerAdress menu

Shout-Out

User Tag List

Page 1 of 6 12345 ... LastLast
Results 1 to 15 of 83
  1. #1
    unbekannt1's Avatar Member
    Reputation
    -6
    Join Date
    Apr 2009
    Posts
    54
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [Help] PlayerAdress

    Hi,
    I am using PlayerAdress =[ [ [ 0x010B65F4 ] + 0x34 ] + 0x24 ] to find out the Playeradress. My Problem is that it often gets the wrong value. Sometimes it works but most of the time it won't.

    Code:
    unsigned adresse = 0x010B65F4;
    
    hwnd = FindWindow(NULL, TEXT("World of Warcraft"));
    
    GetWindowThreadProcessId(hwnd, &ID);     
    
    handle = OpenProcess(PROCESS_ALL_ACCESS, 0, ID);
    	
    ReadProcessMemory(handle, (LPCVOID)adresse, &puffer2, sizeof(puffer2), &rw);
    
    puffer2 = puffer2 + 0x34;
    	 ReadProcessMemory(handle, (LPCVOID)puffer2, &puffer2, sizeof(puffer2), &rw);
    
      puffer2 = puffer2 + 0x24;
    ReadProcessMemory(handle, (LPCVOID)puffer2, &playerAdress, sizeof(puffer2), &rw);
    std::cout<< playerAdress;
    My test program has Debug Privs.

    [Help] PlayerAdress
  2. #2
    Zephir's Avatar Member
    Reputation
    8
    Join Date
    May 2007
    Posts
    44
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    well, what do you expect to get?
    the playerbase is just a memory adress that you can use to find information about your character. you do it by adding offsets which are listed on this forum.

  3. #3
    unbekannt1's Avatar Member
    Reputation
    -6
    Join Date
    Apr 2009
    Posts
    54
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I know. For example i read out the Current Hp sometimes it works, but often i get a value like -89944,45e10. This happpens when the playerAdress is not right. Why does it sometimes work and sometimes not?

  4. #4
    Zephir's Avatar Member
    Reputation
    8
    Join Date
    May 2007
    Posts
    44
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    WoW rearranges the memory structure whenever you relog or change your zone (happens when you see a load screen). if that happens, you will need to relocate your playerBase again!

  5. #5
    unbekannt1's Avatar Member
    Reputation
    -6
    Join Date
    Apr 2009
    Posts
    54
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I just have a little test program. I start it, it shows me my health and quits. Then i start it again it shows my health. This can work a long time but sometimes by the first try i get wrong values. Because of restarting my program everytime i should not have any problems with rerranged memory structure or?

  6. #6
    Zephir's Avatar Member
    Reputation
    8
    Join Date
    May 2007
    Posts
    44
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Because of restarting my program everytime i should not have any problems with rerranged memory structure or?
    that should solve it yes. however i can not imagine why you get wrong values from time to time unless you post the whole thing. probably got an if clause going the wrong way somewhere or something

  7. #7
    unbekannt1's Avatar Member
    Reputation
    -6
    Join Date
    Apr 2009
    Posts
    54
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Code for enabling Debug Privs:
    Code:
    bool EnableDebugPrivilege()
    {
    	TOKEN_PRIVILEGES priv;
    	HANDLE hThis, hToken;
    	LUID luid;
    		hThis = GetCurrentProcess();
    	OpenProcessToken(hThis, TOKEN_ADJUST_PRIVILEGES, &hToken);
    	LookupPrivilegeValue(0, TEXT("seDebugPrivilege"), &luid);
    	priv.PrivilegeCount = 1;
    	priv.Privileges[0].Luid = luid;
    	priv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
    	AdjustTokenPrivileges(hToken, false, &priv, 0, 0, 0);
    		CloseHandle(hToken);
    	CloseHandle(hThis);
    	return true;
    }
    Main function
    Code:
    #include "movement.h"
    #include "memory.h"
    
    
    HWND hwnd;
    DWORD ID;
    DWORD rw2=0;
    HANDLE handle;
    
    unsigned int playerbase;
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	//ADRESSE 3.1.1
    	unsigned adresse = 0x010B65F4;
    
    	//Debug Priv
    	::EnableDebugPrivilege();
    
    	//Hwnd and Handle
    	hwnd = 0;
    	hwnd = FindWindow(NULL, TEXT("World of Warcraft"));
    	GetWindowThreadProcessId(hwnd, &ID);                                                                                                                                                                   // Funktion
    	handle = OpenProcess(PROCESS_ALL_ACCESS, 0, ID);  
    
    
    	//Create objects
    	movement move(hwnd);
    	memory mem(handle);
    
    
    	//Playerbase
    	unsigned int puffer;
    	ReadProcessMemory(handle, (LPCVOID)adresse, &puffer, sizeof(puffer), &rw2);
    	puffer = puffer + 0x34;
    	ReadProcessMemory(handle, (LPCVOID)puffer, &puffer, sizeof(puffer), &rw2);
    	puffer = puffer + 0x24;
    	ReadProcessMemory(handle, (LPCVOID)puffer, &playerbase, sizeof(puffer), &rw2);
    
    
    	std::cout<< mem.CurrentHealth(playerbase);
    
    	system("Pause");
    	CloseHandle(handle);
        	 return 0;
    }
    CurrentHp function
    Code:
    int CurrentHealth(unsigned int base) {
    	base = base + 0x8;
    	int buffer;
    	ReadProcessMemory(handle2, (LPCVOID)base, &base, sizeof(buffer), &rw);
    	base = base + 0x17 * 4;
    	ReadProcessMemory(handle2, (LPCVOID)base, &buffer, sizeof(buffer), &rw);
    	return buffer;
    }

    This is nearly the whole code. Do yout see any mistakes?
    Last edited by unbekannt1; 04-26-2009 at 09:33 AM.

  8. #8
    Zephir's Avatar Member
    Reputation
    8
    Join Date
    May 2007
    Posts
    44
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    looks pretty good actually. only whats the difference between handle and handle2 (CurrentHealth(unsigned int base) uses handle2)

  9. #9
    unbekannt1's Avatar Member
    Reputation
    -6
    Join Date
    Apr 2009
    Posts
    54
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    CurrentHealth(unsigned int base) is in the class memory. Memory has a global variable which is handle2. Handle2 is set through the constructor.

  10. #10
    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)
    Originally Posted by unbekannt1 View Post
    Code for enabling Debug Privs:
    Code:
    bool EnableDebugPrivilege()
    {
        TOKEN_PRIVILEGES priv;
        HANDLE hThis, hToken;
        LUID luid;
            hThis = GetCurrentProcess();
        OpenProcessToken(hThis, TOKEN_ADJUST_PRIVILEGES, &hToken);
        LookupPrivilegeValue(0, TEXT("seDebugPrivilege"), &luid);
        priv.PrivilegeCount = 1;
        priv.Privileges[0].Luid = luid;
        priv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
        AdjustTokenPrivileges(hToken, false, &priv, 0, 0, 0);
            CloseHandle(hToken);
        CloseHandle(hThis);
        return true;
    }
    Main function
    Code:
    #include "movement.h"
    #include "memory.h"
    
    
    HWND hwnd;
    DWORD ID;
    DWORD rw2=0;
    HANDLE handle;
    
    unsigned int playerbase;
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        //ADRESSE 3.1.1
        unsigned adresse = 0x010B65F4;
    
        //Debug Priv
        ::EnableDebugPrivilege();
    
        //Hwnd and Handle
        hwnd = 0;
        hwnd = FindWindow(NULL, TEXT("World of Warcraft"));
        GetWindowThreadProcessId(hwnd, &ID);                                                                                                                                                                   // Funktion
        handle = OpenProcess(PROCESS_ALL_ACCESS, 0, ID);  
    
    
        //Create objects
        movement move(hwnd);
        memory mem(handle);
    
    
        //Playerbase
        unsigned int puffer;
        ReadProcessMemory(handle, (LPCVOID)adresse, &puffer, sizeof(puffer), &rw2);
        puffer = puffer + 0x34;
        ReadProcessMemory(handle, (LPCVOID)puffer, &puffer, sizeof(puffer), &rw2);
        puffer = puffer + 0x24;
        ReadProcessMemory(handle, (LPCVOID)puffer, &playerbase, sizeof(puffer), &rw2);
    
    
        std::cout<< mem.CurrentHealth(playerbase);
    
        system("Pause");
        CloseHandle(handle);
             return 0;
    }
    CurrentHp function
    Code:
    int CurrentHealth(unsigned int base) {
        base = base + 0x8;
        int buffer;
        ReadProcessMemory(handle2, (LPCVOID)base, &base, sizeof(buffer), &rw);
        base = base + 0x17 * 4;
        ReadProcessMemory(handle2, (LPCVOID)base, &buffer, sizeof(buffer), &rw);
        return buffer;
    }
    This is nearly the whole code. Do yout see any mistakes?
    Dunno about mistakes in the logic, but all the WinAPI code is awful.

  11. #11
    unbekannt1's Avatar Member
    Reputation
    -6
    Join Date
    Apr 2009
    Posts
    54
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    so you think i got the probs cause of using so much api calls?

  12. #12
    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)
    Now, I may be mistaken, since I do not use the PlayerAddress to get information about my player, but isn't the static pointer 0x01357CE4;? I didn't think that had changed between 3.1.0 and 3.1.1.

  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)
    Originally Posted by unbekannt1 View Post
    so you think i got the probs cause of using so much api calls?

    No, the code is just awful. You're not checking you have valid handles etc, you're potentially leaking handles, you're passing the wrong types in to certain APIs, you're doing zero error checking, etc etc.


  14. #14
    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)
    I think he needs an explanation of why his EnableDebugPrivileges function should either be re-written or be of return type void instead of bool!

  15. #15
    unbekannt1's Avatar Member
    Reputation
    -6
    Join Date
    Apr 2009
    Posts
    54
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    well the EnableDebugPrivileges i copied from a site i found in google. I changed it to void. I have the same problem. The EnableDebugPrivileges is ok.

Page 1 of 6 12345 ... LastLast

Similar Threads

  1. Help WoW Fish-Bot
    By Eliteplague in forum World of Warcraft General
    Replies: 2
    Last Post: 12-10-2024, 05:46 PM
  2. HELP: Gold Scam Exploit
    By GoldDragon in forum World of Warcraft General
    Replies: 11
    Last Post: 01-23-2007, 07:26 PM
  3. Banner Ad Redesign help
    By Matt in forum Community Chat
    Replies: 57
    Last Post: 07-08-2006, 08:40 PM
  4. Hit points and talent points? Please help
    By hankusdankus in forum World of Warcraft General
    Replies: 6
    Last Post: 05-04-2006, 02:00 PM
  5. bot help
    By xwhitedeathx in forum World of Warcraft General
    Replies: 3
    Last Post: 05-01-2006, 03:50 AM
All times are GMT -5. The time now is 12:39 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