-
Contributor
Avid Ailurophile
-
Post Thanks / Like - 5 Thanks
-
Member
Originally Posted by
Razzue
Code:
publicclassOffsets_46368{
public class Guids
{
public const int Mouseover_Guid = 0x30701E8;
public const int Pet_Guid = 0x30A40E8;
public const int Player_Guid = 0x2FBECD0;
public const int Target_Guid = 0x2D4DC60;
public const int Last_Target_Guid = 0x2D4DC70;
public const int Last_Enemy_Guid = 0x2D4DC80;
public const int Last_Friendly_Guid = 0x2D4DC90;
public const int Focus_Guid = 0x2D4DCA0;
public const int DialogWindowOwner_Guid = 0x2D4DCB0;
public const int Bag_Guid = 0x30BF5B0;
}
public class Global_Data
{
public const int In_Game_Status = 0x3070194;
public const int Player_Name = 0x2FBECE8;
public const int Corpse_Position = 0x2C055A0;
public const int Last_Message = 0x306EFC0;
public const int Loot_Window = 0x30A4278;
}
public class Quests
{
public const int Base = 0x30B4620;
public const int NumQuests = 0x30B4460;
public const int CurrentQuest = 0x30DDE64;
public const int QuestTitle = 0x30E8FB0;
public const int GossipQuests = 0x30AE808;
public const int NumQuestChoices = 0x30ED460;
public const int QuestReward = 0x30ED468;
}
public class Auto_Loot
{
public const int Base = 0x306FCE0;
public const int Offset = 0x4C;
}
public class Click_To_Move
{
public const int Base = 0x306FC98;
public const int Offset = 0x4C;
}
public class Chat
{
public const int Open = 0x2F54144;
public const int Start = 0x3070870;
public const int Offset = 0xCB8;
public const int Message = 0xE6;
}
public class Key_Bindings
{
public const int Base = 0x2FBDF58;
}
public class Add_On
{
public const int Count = 0x30F2AC8;
public const int List = 0x30F3010;
}
public class Spellbooks
{
public const int Count = 0x30A37A0;
public const int Base = 0x30A37A8;
public const int PetBase = 0x30A37D0;
public const int PetCount = 0x30A37C8;
}
public class Object_Manager
{
public const int Zone_ID = 0x306FBC8;
public const int Names = 0x2CF5A20;
public const int Base = 0x306EEC0;
public const int Cooldown = 0x300A090;
}
public class Battlegrounds
{
public const int Finished = 0x30A6174;
public const int Winner = 0x30A6178;
public const int Info = 0x2C0F288;
}
public class Camera
{
public const int Base = 0x2F9B198;
public const int Offset = 0x38E8;
}
public class Misc_Junk
{
public const int AddOnsLoaded = 0x30F2AF8;
public const int dword-2BE7798 = 0x2D4B370;
public const int Frame_Base = 0x2D4B370;
public const int Unk1 = 0x905A51;
public const int Macro_Manager = 0x2C120F8;
public const int Addon_Count = 0x30F2AC8;
public const int Addon_Collection = 0x2C17EB0;
public const int CGParyInfoGetActiveParty = 0x30A4010;
public const int Power_Table = 0x3ACC873;
public const int Power_Table = 0x3ACC873;
public const int Unknown = 0x30EDD0F;
public const int Unknown2 = 0x2F54750;
public const int CombatLogEvents = 0x2C00D00; // Should be good
public const int CombatLogEventType = 0x3FD9235; // probably wrong
public const int CombatLogMissType = 0x4137524; // probably wrong
public const int CombatLogEnvironmentType = 0x3C8F986; // probably wrong
public const int ScreenSize = 0x2BAFB9C;
public const int ScreenSize2 = 0x2BAFBA0;
}
}
Hello, it looks like something has changed, everything stopped working, inGameStatus always returns 0
-
Member
I use only 5 offsets and after updating the client and offsets everything stopped working
Code:
enum Global : DWORD_PTR{
ObjectManagerBase = 0x306EEC0,
InGameStatus = 0x3070194,
PlayerName = 0x2FBECE8,
Player_Guid = 0x2FBECD0,
Target_Guid = 0x2D4DC60
};
maybe wrong offset?
Last edited by Hrap; 11-02-2022 at 03:49 AM.
-
-
Member
Everything is in order, the problem was that in the InGame function, the old offset was written, and not a constant declared globally))
Again I became a victim of my own carelessness
Last edited by Hrap; 11-02-2022 at 06:02 AM.
-
Member
Thank you for posting offsets.
-
Member
Do you have a script that you use to extract offsets?
Is it possible to share it?
for my bot i just need 5 offsets
I would like to learn how to find them on my own
But I don't even know where to start
By and large, I only need one offset that I cannot find myself
Object_Manager_Base
Last edited by Hrap; 11-02-2022 at 06:23 AM.
-
Contributor
Avid Ailurophile
Originally Posted by
Hrap
Do you have a script that you use to extract offsets?
Is it possible to share it?
for my bot i just need 5 offsets
I would like to learn how to find them on my own
But I don't even know where to start
By and large, I only need one offset that I cannot find myself
Object_Manager_Base
My dumper is fully public, though I haven't update it in a few months. GitHub - Razzue/Wow-Dumper: A simple wow offset dumper
My patterns for the above offsets (these have survived for quite the while at this point)
Code:
PlayerGUID: 48 8D 0D ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 83 BC 24 ?? ?? ?? ?? ?? 7C ?? 48 8B 8C 24 ?? ?? ?? ?? 48 8D 15 ?? ?? ?? ?? 45 33 C9 45 8D 41 ?? E8 ?? ?? ?? ?? 48 81 C4
TargetGUID:48 39 05 ?? ?? ?? ?? 75 ?? B1 ?? E8 ?? ?? ?? ?? 41 B8 ?? ?? ?? ?? (- 0x8 from result)
ObjectManagerBase: 48 8B 1D ?? ?? ?? ?? 48 85 DB 74 ?? 80 3D ?? ?? ?? ?? ?? 74 ?? 48 8D 0D ?? ?? ?? ??
PlayerName: E8 ?? ?? ?? ?? 48 8D 4C 24 ?? 48 8B D8 E8 ?? ?? ?? ?? 4C 89 74 24 (Pattern points to a sub, explore that sub to find offset.)
For finding the object manager base without pattern in ida:
- Dump wow (I like to use nams dumper) and load in IDA
- Rebase dump to 0x0 (Edit->Segments->Rebase program->Enter 0x0->Wait)
- Shift+F12 to open strings, and look for "Client Object Manager Destroyed"
Search.JPG
- Double click result to jump to disassembly view, and press X to view xrefs to selected string(hint, there should only be ONE)
refs.JPG
- Double click that xref to jump to it, then smack F5 to "decompile" the function, where you'll find 4 uses of the object manager base offset
Result.JPG
There is also likely a couple other ways to find it the long way, but this has been the quickest method for me so far
Hope that made sense You can also find a few other interesting things just by searching through the string page, and seeing what refs what where, and trying random offsets you come across!
Last edited by Razzue; 11-02-2022 at 08:58 AM.
"May all your bacon burn"
-
Post Thanks / Like - 1 Thanks
sargy (1 members gave Thanks to Razzue for this useful post)
-
Member
I can not find nams dumper (
where can i download it from?
-
-
Member
I feel I will spend more than one day until I collect something working from these sources))
And why can't you upload compiled programs together with the source code))
In any case, thank you so much for your help, I'll try to put it all together now ... heh ...
-
Contributor
Avid Ailurophile
-
Member
I don't think there should be any problem with your sources.
and here with a namreeb
I will definitely suffer
Last edited by Hrap; 11-02-2022 at 02:06 PM.
-
Member
Hi Razzue, How to read other players' names? I read other threads and you mentioned it should be read in the name cache. Is it the address [Base + Object_Manager.Names]. I read this address and find it is a pointer to other pointers but I can't find any names.
-
Member
Compiled your project, thank you very much, everything works
I will try to compile the dumper now