WOTLKC Build: 45942 menu

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 28
  1. #1
    Razzue's Avatar Contributor Avid Ailurophile

    CoreCoins Purchaser Authenticator enabled
    Reputation
    378
    Join Date
    Jun 2017
    Posts
    588
    Thanks G/R
    184/267
    Trade Feedback
    2 (100%)
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    WOTLKC Build: 45942

    Code:
    public class Offsets_45942
    {
        public class Guids
        {
            public const int Mouseover_Guid = 0x30241C8;        
            public const int Pet_Guid = 0x30580C8;       
            public const int Player_Guid = 0x2F72CD0;       
            public const int Target_Guid = 0x2D01C60;       
            public const int Last_Target_Guid = 0x2D01C70;       
            public const int Last_Enemy_Guid = 0x2D01C80;       
            public const int Last_Friendly_Guid = 0x2D01C90;       
            public const int Focus_Guid = 0x2D01CA0;       
            public const int DialogWindowOwner_Guid = 0x2D01CB0;      
            public const int Bag_Guid = 0x3073590;
        }
        
        public class Global_Data
        { 
            public const int In_Game_Status = 0x3024174;        
            public const int Player_Name = 0x2F72CE8;       
            public const int Corpse_Position = 0x2BB95A0;        
            public const int Last_Message = 0x3022FA0;       
            public const int Loot_Window = 0x3058258;
        }
        
        public class Quests
        {
            
            public const int Base = 0x3068600;
            public const int NumQuests = 0x3068440;
            public const int CurrentQuest = 0x3091E44;
            public const int QuestTitle = 0x309CF90;
            public const int GossipQuests = 0x30627E8;
            public const int NumQuestChoices = 0x30A1440;
            public const int QuestReward = 0x30A1448;
        }
        
        public class Auto_Loot
        {
            public const int Base = 0x3023CC0;
            public const int Offset = 0x4C;
        }
        
        public class Click_To_Move
        {
            public const int Base = 0x3023C78;
            public const int Offset = 0x4C;
        }
        
        public class Chat
        {
            public const int Open = 0x2F08144;
            public const int Start = 0x3024850;
            public const int Offset = 0xCB8;
            public const int Message = 0xE6;
        }
        
        public class Key_Bindings
        {
            public const int Base = 0x2F71F58;
        }
        
        public class Add_On
        {
            public const int Count = 0x30A6AA8;
            public const int List = 0x30A6FF0;
        }
        
        public class Spellbooks
        {
            public const int Count = 0x3057780;
            public const int Base = 0x3057788;
            public const int PetBase = 0x30577B0;
            public const int PetCount = 0x30577A8;
        }
        
        public class Object_Manager
        {
            public const int Zone_ID = 0x3023BA8;
            public const int Names = 0x2CA9A10;
            public const int Base = 0x3022EA0;
            public const int Cooldown = 0x2FBE080;
        }
        
        public class Battlegrounds
        {
            public const int Finished = 0x305A154;
            public const int Winner = 0x305A158;
            public const int Info = 0x2BC3288;
        }
        
        public class Camera
        {
            public const int Base = 0x2F4F198;
            public const int Offset = 0x38E8;
        }
        
        public class Misc_Junk
        {
            public const int AddOnsLoaded = 0x30A6AD8;
            public const int dword_2BE7798 = 0x2CFF370;
            public const int Frame_Base = 0x2CFF370;
            public const int Unk1 = 0x905A51;
            public const int Macro_Manager = 0x2BC60F8;
            public const int Addon_Count = 0x30A6AA8;
            public const int Addon_Collection = 0x2BCBEA0;
            public const int CGParyInfoGetActiveParty = 0x3057FF0;
            public const int Power_Table = 0x3A1FBF3;
            public const int Unknown = 0x30A1CEF;
            public const int Unknown2 = 0x2F08750;
            public const int Unknown3 = 0x2D018C0;
            public const int Unknown4 = 0x2D018B8;
        }
    }
    
    "May all your bacon burn"

    WOTLKC Build: 45942
  2. Thanks aeo, ermite66, Givi88 (3 members gave Thanks to Razzue for this useful post)
  3. #2
    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)
    Hi, Thanks a lot for your work!!!

    But I can't read In_Game_Status = 0x3024174;
    I'm probably doing something wrong, or the offset does not work

    I try to read like this
    Code:
    bool inGame = RemouteMemory->ReadBool(0x3024174);
    variable read function looks like this
    Code:
    template <typename Type>
    inline Type& RemoteProcess::Read(DWORD_PTR adress)
    {
    	static BYTE* bytes = new BYTE[sizeof(Type*)];
    	HANDLE hprocess = OpenProcess(PROCESS_VM_READ, false, WowInfo.WowPid);
    	if (!ReadProcessMemory(hprocess, (LPCVOID)adress, bytes, sizeof(Type*), NULL))
    	{
    		CloseHandle(hprocess);
    		return *reinterpret_cast<Type*>(bytes);
    	}
    
    }
    
    
    bool RemoteProcess::ReadBool(DWORD_PTR adress)
    {
    	return Read<bool>(WowInfo.WowBaseAdrtess + adress);
    }
    I get the base address like this
    Code:
    DWORD_PTR RemoteProcess::GetModule(DWORD pid, char* procname)
    {
    	HMODULE hMods[1024];
    	DWORD cbNeeded;
    	MODULEINFO minfo;
    	unsigned int i = 0;
    	HANDLE lpo = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
    	if (EnumProcessModules(lpo, hMods, sizeof(hMods), &cbNeeded))
    	{
    		for (i = 0; i < (cbNeeded / sizeof(HMODULE)); i++)
    		{
    			char szModName[MAX_PATH];
    			if (GetModuleFileNameEx(lpo, hMods[i], szModName, sizeof(szModName) / sizeof(TCHAR)))
    			{
    				if (strcmp(szModName, procname) == 0)
    				{
    					GetModuleInformation(lpo, hMods[i], &minfo, sizeof(minfo));
    					CloseHandle(lpo);
    					return (DWORD_PTR)minfo.lpBaseOfDll;
    				}
    			}
    		}
    	}
    	CloseHandle(lpo);
    	return NULL;
    }
    
    WowInfo.WowBaseAdrtess = GetModule(pInfo.th32ProcessID, procname);
    it works on 3,3,5 but doesn't want to on WOTLKC(
    I'm probably dumb somewhere

    Can anyone help me to solve the problem?
    Last edited by Hrap; 10-05-2022 at 02:52 AM.

  4. #3
    Razzue's Avatar Contributor Avid Ailurophile

    CoreCoins Purchaser Authenticator enabled
    Reputation
    378
    Join Date
    Jun 2017
    Posts
    588
    Thanks G/R
    184/267
    Trade Feedback
    2 (100%)
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Hrap View Post
    Hi, Thanks a lot for your work!!!

    But I can't read In_Game_Status = 0x3024174;
    I'm probably doing something wrong, or the offset does not work

    I try to read like this
    Code:
    bool inGame = RemouteMemory->ReadBool(0x3024174);
    variable read function looks like this
    Code:
    template <typename Type>
    inline Type& RemoteProcess::Read(DWORD_PTR adress)
    {
        static BYTE* bytes = new BYTE[sizeof(Type*)];
        HANDLE hprocess = OpenProcess(PROCESS_VM_READ, false, WowInfo.WowPid);
        if (!ReadProcessMemory(hprocess, (LPCVOID)adress, bytes, sizeof(Type*), NULL))
        {
            CloseHandle(hprocess);
            return *reinterpret_cast<Type*>(bytes);
        }
    
    }
    
    
    bool RemoteProcess::ReadBool(DWORD_PTR adress)
    {
        return Read<bool>(WowInfo.WowBaseAdrtess + adress);
    }
    I get the base address like this
    Code:
    DWORD_PTR RemoteProcess::GetModule(DWORD pid, char* procname)
    {
        HMODULE hMods[1024];
        DWORD cbNeeded;
        MODULEINFO minfo;
        unsigned int i = 0;
        HANDLE lpo = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
        if (EnumProcessModules(lpo, hMods, sizeof(hMods), &cbNeeded))
        {
            for (i = 0; i < (cbNeeded / sizeof(HMODULE)); i++)
            {
                char szModName[MAX_PATH];
                if (GetModuleFileNameEx(lpo, hMods[i], szModName, sizeof(szModName) / sizeof(TCHAR)))
                {
                    if (strcmp(szModName, procname) == 0)
                    {
                        GetModuleInformation(lpo, hMods[i], &minfo, sizeof(minfo));
                        CloseHandle(lpo);
                        return (DWORD_PTR)minfo.lpBaseOfDll;
                    }
                }
            }
        }
        CloseHandle(lpo);
        return NULL;
    }
    
    WowInfo.WowBaseAdrtess = GetModule(pInfo.th32ProcessID, procname);
    it works on 3,3,5 but doesn't want to on WOTLKC(
    I'm probably dumb somewhere

    Can anyone help me to solve the problem?
    It's not a bool, it's a byte and can have several different values depending on state (entering world, reloading, actually in game etc etc)
    Code:
    internal static bool EnteringGame => Status is 0x80 or 0x82 or 0x83 or 0x86;
    internal static bool ReloadingGame => Status is 0xE4 or 0xE0 or 0xC3 or 0xC4 or 0xC6;
    internal static bool Reloading => ReloadingGame || EnteringGame;
    internal static bool InGame => Status == 0x84;
    Last edited by Razzue; 10-05-2022 at 04:22 AM.
    "May all your bacon burn"

  5. #4
    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)
    Thank you very much

  6. #5
    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)
    Does not work{
    Code:
    char* Status()
    {
    	BYTE byte = RemouteMemory->ReadByte(0x3024174);
    	if (byte == 0x84){ return "In game"; }
    	else if (byte == 0x80 || byte == 0x82 || byte == 0x83 || byte == 0x86){ return "Entering game"; }
    	else if (byte == 0x80 || byte == 0xE4 || byte == 0xE0 || byte == 0xC3 || byte == 0xC4 || byte == 0xC6){ return "Reloading game"; }
    	else { return "Not in game"; }
    }
    always returns one value
    But at the same time everything works in 3,3,5
    if you replace it with
    Code:
    inGame = WowMemory->ReadBool(0x00BD078A);
    Error somewhere on the surface ...
    That's just where....
    Last edited by Hrap; 10-05-2022 at 02:37 PM.

  7. #6
    aeo's Avatar Contributor
    Reputation
    126
    Join Date
    Apr 2007
    Posts
    270
    Thanks G/R
    84/62
    Trade Feedback
    7 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    it uses flags...check ths isplayerinworld lua function.

  8. #7
    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)
    Understood at last. everything is working

  9. #8
    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
    Hi, Thanks a lot for your work!!!

    But I can't read In_Game_Status = 0x3024174;
    I'm probably doing something wrong, or the offset does not work

    I try to read like this
    Code:
    bool inGame = RemouteMemory->ReadBool(0x3024174);
    variable read function looks like this
    Code:
    template <typename Type>
    inline Type& RemoteProcess::Read(DWORD_PTR adress)
    {
    	static BYTE* bytes = new BYTE[sizeof(Type*)];
    	HANDLE hprocess = OpenProcess(PROCESS_VM_READ, false, WowInfo.WowPid);
    	if (!ReadProcessMemory(hprocess, (LPCVOID)adress, bytes, sizeof(Type*), NULL))
    	{
    		CloseHandle(hprocess);
    		return *reinterpret_cast<Type*>(bytes);
    	}
    
    }
    
    
    bool RemoteProcess::ReadBool(DWORD_PTR adress)
    {
    	return Read<bool>(WowInfo.WowBaseAdrtess + adress);
    }
    I get the base address like this
    Code:
    DWORD_PTR RemoteProcess::GetModule(DWORD pid, char* procname)
    {
    	HMODULE hMods[1024];
    	DWORD cbNeeded;
    	MODULEINFO minfo;
    	unsigned int i = 0;
    	HANDLE lpo = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
    	if (EnumProcessModules(lpo, hMods, sizeof(hMods), &cbNeeded))
    	{
    		for (i = 0; i < (cbNeeded / sizeof(HMODULE)); i++)
    		{
    			char szModName[MAX_PATH];
    			if (GetModuleFileNameEx(lpo, hMods[i], szModName, sizeof(szModName) / sizeof(TCHAR)))
    			{
    				if (strcmp(szModName, procname) == 0)
    				{
    					GetModuleInformation(lpo, hMods[i], &minfo, sizeof(minfo));
    					CloseHandle(lpo);
    					return (DWORD_PTR)minfo.lpBaseOfDll;
    				}
    			}
    		}
    	}
    	CloseHandle(lpo);
    	return NULL;
    }
    
    WowInfo.WowBaseAdrtess = GetModule(pInfo.th32ProcessID, procname);
    it works on 3,3,5 but doesn't want to on WOTLKC(
    I'm probably dumb somewhere

    Can anyone help me to solve the problem?
    Create x64 console app , 335a is x86 process and i think u program x86.
    Scan like this

    off = g_pProcess->Scan("48 8B 1D ?? ?? ?? ?? 48 85 DB 74 ?? 80 3D ?? ?? ?? ?? ?? 74 ?? 48 8D 0D ?? ?? ?? ??");

    Process.h
    Code:
    #include  <Windows.h>
    #include  <string>
    
    class Process
    {
    public:
    	Process();
    	~Process();
    	bool Attach(const std::string& ExeName);
    	void Detach();
    	bool Read(DWORD64 dwAddress, LPVOID lpBuffer, DWORD64 dwSize);
    	bool Write(DWORD64 dwAddress, LPCVOID lpBuffer, DWORD64 dwSize);
    
    	template<typename T>
    	T Read(DWORD64 dwAddress, const T& tDefault = T())
    	{
    		T tRet;
    		if (!Read(dwAddress, &tRet, sizeof(T)))
    			return tDefault;
    		return tRet;
    	}
    
    	template<typename T>
    	bool Write(DWORD64 dwAddress, const T& tValue) { return Write(dwAddress, &tValue, sizeof(T)); }
    
    	template<typename T>
    	bool WriteProtected(DWORD64 dwAddress, const T& tValue)
    	{
    		DWORD_PTR oldProtect;
    		VirtualProtectEx(m_hProcess, (LPVOID)dwAddress, sizeof(T), PAGE_EXECUTE_READWRITE, &oldProtect);
    		Write(dwAddress, &tValue, sizeof(T));
    		VirtualProtectEx(m_hProcess, (LPVOID)dwAddress, sizeof(T), oldProtect, NULL);
    		return true;
    	}
    
    	DWORD64 Scan(const char* szSignature, int offset = 0);
    private:
    	DWORD GetProcessIdByName(const std::string& name);
    	bool GetModuleInfo();
    
    	DWORD m_dwProcessId = NULL;
    	HANDLE m_hProcess = NULL;
    	DWORD64 m_dwBase = NULL;
    	DWORD64 m_dwSize = NULL;
    };
    
    extern Process* g_pProcess;
    Process.cpp

    Code:
    #include  "Process.h"
    #include  <TlHelp32.h>
    #include  <Psapi.h>
    
    Process* g_pProcess = new Process();
    
    Process::Process()
    {
    
    }
    
    Process::~Process()
    {
    	Detach();
    }
    
    bool Process::Attach(const std::string& ExeName)
    {
    	Detach();
    
    	if (ExeName.empty())
    	{
    		return false;
    	}
    
    	m_dwProcessId = GetProcessIdByName(ExeName);
    
    	if (!m_dwProcessId)
    	{
    		HWND hWnd = FindWindowA(NULL, ExeName.c_str());
    
    		if (hWnd == NULL)
    			return false;
    
    		GetWindowThreadProcessId(hWnd, &m_dwProcessId);
    
    		if (!m_dwProcessId)
    			return false;
    	}
    	
    	m_hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, m_dwProcessId);
    
    	if (!m_hProcess)
    	{
    		return false;
    	}
    
    	return GetModuleInfo();
    }
    
    void Process::Detach()
    {
    	if (m_hProcess)
    	{
    		CloseHandle(m_hProcess);
    	}
    
    	m_hProcess = NULL;
    	m_dwProcessId = NULL;
    	m_dwBase = NULL;
    	m_dwSize = NULL;
    }
    
    bool Process::Read(DWORD_PTR dwAddress, LPVOID lpBuffer, DWORD_PTR dwSize)
    {
    	SIZE_T Out = NULL;
    	return (ReadProcessMemory(m_hProcess, (LPCVOID)dwAddress, lpBuffer, dwSize, &Out) == TRUE);
    }
    
    bool Process::Write(DWORD_PTR dwAddress, LPCVOID lpBuffer, DWORD_PTR dwSize)
    {
    	SIZE_T Out = NULL;
    	return (WriteProcessMemory(m_hProcess, (LPVOID)dwAddress, lpBuffer, dwSize, &Out) == TRUE);
    }
    
    DWORD Process::GetProcessIdByName(const std::string& name)
    {
    	HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
    
    	if (hSnapshot == INVALID_HANDLE_VALUE)
    	{
    		return NULL;
    	}
    
    	PROCESSENTRY32 Entry = { NULL };
    
    	Entry.dwSize = sizeof(PROCESSENTRY32);
    
    	if (!Process32First(hSnapshot, &Entry))
    	{
    		CloseHandle(hSnapshot);
    		return NULL;
    	}
    
    	do
    	{
    		if (name.compare(Entry.szExeFile) == 0)
    		{
    			CloseHandle(hSnapshot);
    			return Entry.th32ProcessID;
    		}
    	} while (Process32Next(hSnapshot, &Entry));
    
    	return NULL;
    }
    
    bool Process::GetModuleInfo()
    {
    	HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, m_dwProcessId);
    
    	if (hSnapshot == INVALID_HANDLE_VALUE)
    	{
    		return false;
    	}
    
    	MODULEENTRY32 Entry = { NULL };
    
    	Entry.dwSize = sizeof(MODULEENTRY32);
    
    	if (!Module32First(hSnapshot, &Entry))
    	{
    		CloseHandle(hSnapshot);
    		return false;
    	}
    
    	do
    	{
    		char szPath[MAX_PATH] = { NULL };
    		GetModuleFileNameEx(m_hProcess, Entry.hModule, szPath, MAX_PATH);
    
    		size_t len = strlen(Entry.szModule);
    		if (Entry.szModule[len - 4] == '.' && Entry.szModule[len - 3] == 'e' && Entry.szModule[len - 2] == 'x' && Entry.szModule[len - 1] == 'e')
    		{
    			m_dwBase = (DWORD64)Entry.hModule;
    			m_dwSize = (DWORD64)Entry.modBaseSize;
    			CloseHandle(hSnapshot);
    			return true;
    		}
    
    	} while (Module32Next(hSnapshot, &Entry));
    
    	CloseHandle(hSnapshot);
    
    	return false;
    }
    
    #define  inRange(x,a,b) (x >= a && x <= b) 
    #define  getBits( x ) (inRange((x&(~0x20)),'A','F') ? ((x&(~0x20)) - 'A' + 0xa) : (inRange(x,'0','9') ? x - '0' : 0))
    #define  getByte( x ) (getBits(x[0]) << 4 | getBits(x[1]))
    
    DWORD64 Process::Scan(const char* szSignature, int offset)
    {
    	const auto startAddress = m_dwBase;
    	const auto modSize = m_dwSize;
    	const auto endAddress = startAddress + modSize;
    
    	auto pat = szSignature;
    	DWORD64 firstMatch = 0;
    
    	PBYTE pRemote = new BYTE[modSize];
    
    	DWORD oldProtect;
    	VirtualProtectEx(m_hProcess, (LPVOID)startAddress, modSize, PAGE_EXECUTE_READWRITE, &oldProtect);
    
    	if (!Read(startAddress, pRemote, modSize))
    	{
    		printf("Cant read %lld lerr %d\n", startAddress, GetLastError());
    		delete[] pRemote;
    		return NULL;
    	}
    
    	printf("Scan sign %s = ", szSignature);
    
    	for (DWORD64 i = 0; i < modSize; i++)
    	{
    		auto pCur = pRemote[i];
    
    		if (!*pat)
    		{
    			delete[] pRemote;
    			return NULL;
    		}
    
    		if (*(PBYTE)pat == '\?' || pCur == getByte(pat))
    		{
    			if (!firstMatch)
    			{
    				firstMatch = startAddress + i;
    			}
    
    			if (!pat[2])
    			{
    				delete[] pRemote;
    				return firstMatch;
    			}
    
    			if (*(PWORD)pat == '\?\?' || *(PBYTE)pat != '\?')
    			{
    				pat += 3;
    			}
    			else
    			{
    				pat += 2;
    			}
    		}
    		else
    		{
    			pat = szSignature;
    			firstMatch = 0;
    		}
    	}
    
    	delete[] pRemote;
    	return NULL;
    }
    Last edited by ermite66; 10-06-2022 at 12:28 PM.

  10. #9
    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)
    Thanks, I already figured it out, it all worked, the problem was in the bit depth and there was no obvious error in the code

  11. #10
    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)
    name offset ?

    name is : Р'РїРёРчС?Р?Р?Р>РчР> status is 0x84

    PS name in ru locale
    Last edited by ermite66; 10-07-2022 at 09:32 AM.

  12. #11
    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)
    Object manager ptr is broken?

  13. #12
    Razzue's Avatar Contributor Avid Ailurophile

    CoreCoins Purchaser Authenticator enabled
    Reputation
    378
    Join Date
    Jun 2017
    Posts
    588
    Thanks G/R
    184/267
    Trade Feedback
    2 (100%)
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)
    Nope, it works just fine.
    "May all your bacon burn"

  14. Thanks ermite66 (1 members gave Thanks to Razzue for this useful post)
  15. #13
    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
    Nope, it works just fine.
    i tru like this https://www.ownedcore.com/forums/wor...ml#post4373067 (Object Manager Help!) , and get maxCount = -32174896478357 , its dont work for wrath classic ?

    in IDA wow base = 140000000 , but read from inject or external return wow base = 0x7ff64dc , its bad deobfuscation?

    what the :
    Code:
    const int Names = 0x2CA9A10;
    const int Cooldown = 0x2FBE080;

  16. #14
    Razzue's Avatar Contributor Avid Ailurophile

    CoreCoins Purchaser Authenticator enabled
    Reputation
    378
    Join Date
    Jun 2017
    Posts
    588
    Thanks G/R
    184/267
    Trade Feedback
    2 (100%)
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by ermite66 View Post
    i tru like this https://www.ownedcore.com/forums/wor...ml#post4373067 (Object Manager Help!) , and get maxCount = -32174896478357 , its dont work for wrath classic ?

    in IDA wow base = 140000000 , but read from inject or external return wow base = 0x7ff64dc , its bad deobfuscation?

    what the :
    Code:
    const int Names = 0x2CA9A10;
    const int Cooldown = 0x2FBE080;
    Player names are read from the name cache. (const in Names)
    Cooldowns are read from Base + Cooldown + x10
    Spell(Cooldown?) history is from Base + Cooldown + x28 or some shit

    Object manager works just fine, I am currently using it right now. If you're having issues I suggest reading the first 5-6 pages of these forums. All the information you need has already been provided.
    "May all your bacon burn"

  17. #15
    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
    Player names are read from the name cache. (const in Names)
    Cooldowns are read from Base + Cooldown + x10
    Spell(Cooldown?) history is from Base + Cooldown + x28 or some shit

    Object manager works just fine, I am currently using it right now. If you're having issues I suggest reading the first 5-6 pages of these forums. All the information you need has already been provided.
    found in IDA

    Снимок.JPG

    base is 14000000000 , the offset is correct, I will look for where I made a mistake , maybe a mistake when porting from c# to c++

Page 1 of 2 12 LastLast

Similar Threads

  1. WOTLKC Build: 45704
    By Razzue in forum WoW Memory Editing
    Replies: 5
    Last Post: 09-30-2022, 12:18 AM
  2. WOTLKC Build: 45613
    By Razzue in forum WoW Memory Editing
    Replies: 1
    Last Post: 09-16-2022, 02:52 PM
  3. WOTLKC Build: 45572
    By Razzue in forum WoW Memory Editing
    Replies: 1
    Last Post: 09-14-2022, 11:37 AM
  4. Rouge: Talent Builds
    By oninuva in forum World of Warcraft Guides
    Replies: 3
    Last Post: 10-22-2006, 11:32 AM
  5. [Guide] Build Your Ultimate Pet
    By Cypher in forum World of Warcraft Guides
    Replies: 2
    Last Post: 05-13-2006, 08:22 AM
All times are GMT -5. The time now is 04:42 AM. 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