-
[Classic] 1.13.2.31727
Code:
"ObjMgrPtr" : 0x230eec8,
"LocalPlayerGUID" : 0x26053d0,
"MouseOverGUID" : 0x2526868,
"CameraBase" : 0x2527388,
"IsLoadingOrConnecting" : 0x21fe770,
"CurrentGroundTargetSpell" : 0x226ac00,
"CTMActionTypeTrigger" : 0x1c8e8a8,
"Date" : 0x1bd75e8,
"Version" : 0x1bd75d4,
"Build" : 0x1bd75dc,
Too busy enjoying the game to take time for much reversing, but happy to see some increased activity over here again!
Some basics to explore for people just starting out: (descriptors are in previous threads)
Code:
"FirstObj" : 0x18,
"NextObj" : 0x8,
"ObjType" : 0x20,
"ObjGUID" : 0x58,
"Descriptors" : 0x10,
"BobberPop" : 0x14C,
"GameObjectPosition" : 0x1B0,
"UnitPosition" : 0x1600,
"CameraOffset" : 0x3330,
"CameraOrigin" : 0x10,
"CameraMatrix" : 0x1C,
"CameraFoV" : 0x40,
Last edited by h42; 09-04-2019 at 01:41 AM.
-
Post Thanks / Like - 7 Thanks
-
Member
Thanks for the share, been waiting for current offsets so I can get back into business. Probably more than 7 years have passed since my last time I worked on WoW stuff :>
-
Member
Been trying to get started with these addresses but can't get it working.
I determine the WoW base address: 0x00007FF7CE1C0000
When reading from the (base address + 0x230eec8 ) trying to find the ObjMgr I only seem to get 0 ...
I must be doing something obviously wrong, but can't figure it out.
-
Contributor
Originally Posted by
NitroGlycerine
Been trying to get started with these addresses but can't get it working.
I determine the WoW base address: 0x00007FF7CE1C0000
When reading from the (base address + 0x230eec8 ) trying to find the ObjMgr I only seem to get 0 ...
I must be doing something obviously wrong, but can't figure it out.
well without your non working code as a reference it's just a guessing game
-
Member
Originally Posted by
Icesythe7
well without your non working code as a reference it's just a guessing game
Thank you for your reply. I have figured it out in the mean time. (was making a mistake when opening the WoW process).
-
Member
Originally Posted by
h42
Too busy enjoying the game to take time for much reversing, but happy to see some increased activity over here again!
Some basics to explore for people just starting out: (descriptors are in previous threads)
Code:
"FirstObj" : 0x18,
"NextObj" : 0x8,
"ObjType" : 0x20,
"ObjGUID" : 0x58,
"Descriptors" : 0x10,
"BobberPop" : 0x14C,
"GameObjectPosition" : 0x1B0,
"UnitPosition" : 0x1600,
"CameraOffset" : 0x3330,
"CameraOrigin" : 0x10,
"CameraMatrix" : 0x1C,
"CameraFoV" : 0x40,
I think that $NextObj should be 0x40?
-
Member
TargetGUID: 0x216C8C0
Anyone found spellcooldown pointer already?
Last edited by NitroGlycerine; 09-11-2019 at 06:26 AM.
-
Member
Originally Posted by
NitroGlycerine
I think that $NextObj should be 0x40?
same for me, Next is 0x40
"ObjGUID" : 0x58 i think GUID lenght is 16 > Byte[15]
and same with TargetGUID: 0x216C8C0.
if i write memory i can easy change target, but works only with Byte[15]
position works good on: CurrentObject + 0x1600
i'm looking for hpCurrent/hpMax & manaCurrent/manaMax
-
Member
Anybody know the address for name place distance? They fixed the scientific notation trick, so now we have to do it the hard way
-
Code:
public enum UnitOffsets : ulong
{
Level = 0xD4,
Health = 0xDC,
Energy = 0xE4, // mana, rage, or energy
MaxHealth = 0xFC,
MaxEnergy = 0x104, // mana, rage, or energy
}
Code:
public enum NameOffsets : ulong
{
nameCache = 0x1F3AB28,
nameGuid = 0x20,
nameString = 0x31,
}
I couldn't get spellcooldown working (although it was my first time ever trying). 0x2159820 looked promising, but the values I got for SpellCooldownEntry.StartTime when using that offset didn't seem right.
-
Member
Originally Posted by
ndrax
Code:
public enum UnitOffsets : ulong
{
Level = 0xD4,
Health = 0xDC,
Energy = 0xE4, // mana, rage, or energy
MaxHealth = 0xFC,
MaxEnergy = 0x104, // mana, rage, or energy
}
Code:
public enum NameOffsets : ulong
{
nameCache = 0x1F3AB28,
nameGuid = 0x20,
nameString = 0x31,
}
I couldn't get spellcooldown working (although it was my first time ever trying). 0x2159820 looked promising, but the values I got for SpellCooldownEntry.StartTime when using that offset didn't seem right.
I think correct is 0x2159810, following C++ code works fine:
Code:
void spell_thread()
{
while (1)
{
DWORD64 wow_ptr = (DWORD64)Handles::GetModuleHandleA("Wow.exe");
DWORD64 cooldown = (wow_ptr + 0x2159810);
DWORD64 result = *(DWORD64*)(cooldown + 16);
if (!((DWORD64)result & 1))
{
while (!((DWORD64)result & 1) && result)
{
DWORD64 next = *(DWORD64*)(result + 8);
DWORD spellid = *(DWORD*)(result + 16);
DWORD starttime = *(DWORD*)(result + 28);
printf("SPELLID:%d - starttime=%d.\n", spellid, starttime);
result = next;
}
}
using namespace std::chrono_literals;
std::this_thread::sleep_for(1s);
}
}
-
Originally Posted by
t3ddevl1
I think correct is 0x2159810, following C++ code works fine
Ah, my offset for starttime was wrong. 28 (0x1C) from your code works for me, thanks. -Ryuk-'s struct from https://www.ownedcore.com/forums/wor...ation-x64.html ([7.1.0.22996] Quick Confirmation - Spell History Location (x64)) looks to be correct for 1.13.
However, for the actual spellcooldown offset, 0x2159820 is working for me, while 0x2159810 is not. Are you sure your 0x2159810 is for 31727 version of the client?
-
Member
since i do "DWORD64 result = *(DWORD64*)(cooldown + 16);" it same 0x2159820 i think :-)
-
Member
Hi, thanks for sharing offsets. I have some general questions:
1. Are anyone using C#, if so do you use a library to read the memory?
2. I having some trouble looping thru objects from the Object Manager, would someone be so kind and show an updated example (I know there are som old guides) ?
Thanks alot, great to see some post in this forum again
-
Contributor
Originally Posted by
axxos
Hi, thanks for sharing offsets. I have some general questions:
1. Are anyone using C#, if so do you use a library to read the memory?
2. I having some trouble looping thru objects from the Object Manager, would someone be so kind and show an updated example (I know there are som old guides) ?
Thanks alot, great to see some post in this forum again
It's posted in here as a cheat engine script. If you can't convert that you shouldn't be messing with wow.
Code:
std::vector<CGameObject> WoWObjectManager::getObjects()
{
std::vector<CGameObject> gameObjects;
uintptr_t pObjMgr = mem.Read<uintptr_t>((uintptr_t)mod->ptrBase + 0x26bb860);
CGameObject pNextObj = mem.Read<CGameObject>((uintptr_t)pObjMgr + 0x18);
do
{
gameObjects.push_back(pNextObj);
pNextObj = mem.Read<CGameObject>((uintptr_t)pNextObj->base + NEXT_OBJECT);
} while ((pNextObj & 1) == 0 && pNextObj != 0);
return gameObjects;
}
//Offsets are not for classic.
Last edited by ChrisIsMe; 09-18-2019 at 02:04 PM.