Does anyone know how to get the current animation state of a game object (i.e a fishing bobber)?
I've tried lookng at the byte[] from GOPointer +0xBC and the byte[] from GAMEOBJECT_BYTES_1 with no luck.
Does anyone know how to get the current animation state of a game object (i.e a fishing bobber)?
I've tried lookng at the byte[] from GOPointer +0xBC and the byte[] from GAMEOBJECT_BYTES_1 with no luck.
Hey all, i'm new on the forum and i've question.
We have functions
They are for send packet to server, yes ?.487DA0 NetClient::Send
487BF0 NetClient::Send2
And I search function for receive packet from server .
This function was found in IDA from TOM_RUS ?.
Code:Object_Animation=0xD4, //[4.2.2.14545] (AKA le Bobber)
Last edited by DarkLinux; 09-16-2011 at 11:40 PM.
GetNumCharacters = 0xA7D92C, // > 0 your on character selection screen
CurrentRealm = 0x980726,
[rebased]
RivaLFT given address to ClientConnection:
From TOM_RUS IDA 4.2.2:14545public static uint clientConnection = 0x0; //0x980558,
4CC730 ClientServices::Connection
So. Offset to ClientConnection is 0xD8056C ?.text:004CC730 ClientServices__Connection proc near ; CODE XREF: sub_401870+2Dp
.text:004CC730 ; sub_401870+36p ...
.text:004CC730 A1 6C 05 D8 00 mov eax, dword_D8056C
.text:004CC735 C3 retn
.text:004CC735 ClientServices__Connection endp
I found code from TOM_RUS
I good thinking for read offset to ClientConnection(4.2.2) like TOM_RUS code(4.0.0) ?// offset for 4.0.0.12759
var conn = pm.Read<ClientConnection>(pm.Read<uint>(0x00CF55B4));
And how to read structure connecton, how much byte read etc. ?
Sorry for english.\
/// Edit:
ClientConnection structure (from IDA 4.2.2) - so, now only offset ;D
00000000 ClientConnection struc ; (sizeof=0x954C)
00000000 vTable dd ? ; offset
00000004 account db 1280 dup(?)
00000504 field_504 dd ?
00000508 SessionKey db 40 dup(?)
00000530 field_530 dd ?
00000534 lockObj _RTL_CRITICAL_SECTION ?
0000054C field_054C dd ?
00000550 field_0550 dd ?
00000554 field_0554 dd ?
00000558 field_0558 dd ?
0000055C State dd ?
00000560 Handlers dd 2048 dup(?) ; offset
00002560 HandlersState dd 2048 dup(?) ; offset
00004560 field_4560 dd ?
00004564 field_4564 dd ?
00004568 field_4568 dd ?
0000456C latency LatencyData 2 dup(?)
0000460C field_460C dd ?
00004610 reconnectUnk1 WGUID 2 dup(?)
00004620 TotalBytesSent dd ?
00004624 TotalBytesReceived dd ?
00004628 TotalTimeConnected dd ?
0000462C field_462C dd ?
00004630 connections dd 4 dup(?) ; offset
00004640 field_4634 dd 6 dup(?)
00004658 connectionToken dd 2 dup(?)
00004660 bRedirectPackets db 2 dup(?)
00004662 bConnectionLocks db 2 dup(?)
00004664 pad4 dd 10 dup(?)
0000468C field_4678 dd ?
00004690 field_467C dd ?
00004694 field_4680 dd ?
00004698 field_4684 dd ?
0000469C ReconnectSBigPtr dd ? ; offset
000046A0 pad5 dd 19 dup(?)
000046EC BillingTimeRemaining dd ?
000046F0 BillingTimeRested dd ?
000046F4 BillingPlanFlags db ?
000046F5 AccountExpansionLevel db ?
000046F6 field_46DE db ?
000046F7 field_46DF db ?
000046F8 field_46E0 dd ?
000046FC field_46E4 dd ?
00004700 field_46E8 dd ?
00004704 field_46EC dd ?
00004708 IsConnectedToServer dd ?
0000470C field_46F0 dd ?
00004710 field_46F4 dd ?
00004714 RESULT_CODE dd ?
00004718 COP_CODE dd ?
0000471C ERROR_CODE dd ?
00004720 IsLoggedIn dd ?
00004724 LogoutType db ?
00004725 isLoggingOut db ?
00004726 field_470A db ?
00004727 field_470B db ?
00004728 unkFuncPtr dd ? ; offset
0000472C pad7 dd 5000 dup(?)
0000954C ClientConnection ends
Last edited by EmtecDev; 09-19-2011 at 01:49 PM.
I good thinking with structure ?[StructLayout(LayoutKind.Sequential)]
struct ClientConnection
{
public int vTable; // 1
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 1280)]
public byte[] Account; // 2
public int Field_504; // 3
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 40)]
public byte[] SessionKey; // 4
public int Field_530; // 5
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
public int[] LockObj; // 6
public int Field_054C; // 7
public int Field_0550; // 8
public int Field_0554; // 9
public int Field_0558; // 10
public int State; // 11
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 204]
public int[] Handlers; // 12
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 204]
public int[] HandlersState; // 13
}
Found 473 handlers, this is good result ?
CLIENT_CONNECTION = 0x980558,
Offsets::Get return baseAdress + offset.var conn = (ClientConnection)memory.ReadObject(memory.ReadUInt(Offsets.Get(Offset.CLIENT_CO NNECTION)), typeof(ClientConnection));
TOM_RUS code return this, good ?07C5 - BDF1DFC7 - 00000000
07C7 - BDF68673 - 00000000
07CA - BDFA3AAE - 00000000
07CF - BE3C7403 - 00000000
07D6 - BE08E896 - 00000000
07DC - BE21B74A - 00000000
07DE - BE274726 - 00000000
07E0 - BDE45092 - 00000000
07E2 - BDB1CE5E - 00000000
07E9 - BDAD861F - 00000000
07EF - BDC66323 - 00000000
07F1 - BD89CC1F - 00000000
07F7 - BD56C783 - 00000000
07F9 - BD9D615F - 00000000
07FB - BD5E2AEB - 00000000
Last edited by EmtecDev; 09-19-2011 at 02:19 PM.
rival's clientConnection is just his way of naming objectmanager's CurMgrPointer i think, wich is more used around here
your looking at the wrong sub, your looking for ClntObjMgrInitializeStd's dword_D80558
Last edited by QKdefus; 09-19-2011 at 02:19 PM.
I change offset to D80558 and return error ;/.
CLIENT_CONNECTION = 0xD80558,class Opcode
{
[StructLayout(LayoutKind.Sequential)]
struct ClientConnection
{
public int vTable; // 1
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 1280)]
public byte[] Account; // 2
public int Field_504; // 3
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 40)]
public byte[] SessionKey; // 4
public int Field_530; // 5
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
public int[] LockObj; // 6
public int Field_054C; // 7
public int Field_0550; // 8
public int Field_0554; // 9
public int Field_0558; // 10
public int State; // 11
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 204]
public int[] Handlers; // 12
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 204]
public int[] HandlersState; // 13
}
public static void GenerateOpcode(BlackMagic memory)
{
var conn = (ClientConnection)memory.ReadObject(Offsets.Get(Offset.CLIENT_CONNECTION), typeof(ClientConnection));
int count = 0;
for (var i = 0; i < conn.Handlers.Length; ++i)
{
if (conn.Handlers[i] != 0 || conn.HandlersState[i] != 0)
{
Console.WriteLine("{0:X4} - {1:X8} - {2:X8}", i, conn.Handlers[i], conn.HandlersState[i]);
count++;
}
}
Console.WriteLine("Dump OpcodesHandlers count: " + count);
}
}
I try with:
memory.ReadUInt(Offsets.Get(Offset.CLIENT_CONNECTION))
And error too
/Edit:
CLIENT_CONNECTION = 0x980558, - return 473 records
CLIENT_CONNECTION = 0x0 - return ~2000
CLIENT_CONNECTION = 0xD80558 - error
Last edited by EmtecDev; 09-20-2011 at 04:39 AM.
Has someone tested the NPC name offsets?
I get an empty string everytime.Code:UnitName1 = 0x91C, UnitName2 = 0x64,
I'll post the code just in case I might have made a stupid mistake, but I'm pretty sure its right.
Code:public string MobNameFromGuid(ulong Guid) { uint ObjectBase = GetObjectBaseByGuid(Guid); return wow.ReadASCIIString(wow.ReadUInt(wow.ReadUInt(ObjectBase + (uint)NameOffsets.UnitName1) + (uint)NameOffsets.UnitName2), 50); }
Is this inprocess? Why don't you just call the appropriate VMT function?
Honestly - I am very now to WoW programming and before now I have never heard or read about VMT functions in WoW. I just read up all I could find about it though and it looks quite interesting.
I would like to only read memory if I can help it though. And also the offsets should work?
I'll read up more on VMT and see what I can manage though if the offsets don't work for anyone else either.
EDIT: Nevermind, its the right offsets. Working now.
Last edited by Twarwizard; 09-22-2011 at 12:53 PM.
List of opcodes used by SendMovementUpdate
Code:B024 <- HeartBeat A5 B125 2325 1A4 A4A5 8524 2025 9524 B424 85A4 2A4 24A4 21A4 90A4 B6A4 1A5 9225 1125 2624 624 125 9125 A024 A3A4 10A5 A0A4 <- Move_Start_Forward A7A5 A624
Last edited by -Ryuk-; 10-07-2011 at 10:07 AM.
|Leacher:11/2009|Donor:02/2010|Established Member:09/2010|Contributor:09/2010|Elite:08/2013|
Thanks all.
I knew that will not get a straight answer here. Just wanted to verify this .
My question is cleared.
Last edited by veey; 10-11-2011 at 02:05 AM.