Hello, I've made this thread because I'm tired of the endless wow errors.
What I'm trying to do is to call the ClientService_SendPacket function.
As you will notice I'm using AutoIt for this.
I'm successfully called the function using:
Code:
AsmAdd($asm, "mov ecx, [" & $base + $ClientConnection &"]")
AsmAdd($Asm, "push " & $DataStore)
AsmAdd($asm, "mov ebx, " & $base + $SendPacket)
AsmAdd($asm, "call ebx")
I've have hooked the EndScene function, the hook allows me to run a code anytime of simple write to a flag.
I'm using the offsets:
Code:
$ClientConnection = 0x980558
$SendPacket = 0x87BF0
$DataStore1 = 0x75A8A8
Now for the packet that i'm trying to send is a simple CMSG_CAST_SPELL packet.
Here's the datastore code/what i write to the address that I'm pushing.
Code:
_memorywrite($DataStore , $wow, $base + $DataStore1, "int"); ptrDataStore
_memorywrite($DataStore + 0x4 , $wow, $SpellPacket,"int") ; ptrPacketData
_memorywrite($DataStore + 0x8 , $wow, 0x0 ,"int") ; UnKnown1
_memorywrite($DataStore + 0xC , $wow, 0x100, "int") ; MayType; // 0x100 for normal, 0x300 for warden
_memorywrite($DataStore + 0x10, $wow, 0x5, "int") ; PacketLen
_memorywrite($DataStore + 0x14, $wow, 0x0, "int") ; UnKnown3
The spellpacket is build like this:
Code:
_memorywrite($SpellPacket, $wow, 0x5E4E, "int");OPCODE
_memorywrite($SpellPacket + 0x4, $wow, 0x01 , "byte")
_memorywrite($SpellPacket + 0x5, $wow, 0x1438, "ushort")
I've also tried to do like this:
Code:
_memorywrite( $Spellpacket, $wow, "4E 5E 00 00 1E 38 14" , "byte[12]")
And I've allocated the memory before i wrote of with this code:
Code:
$SpellPacket = _MemVirtualAllocEx( $wow[1], 0, 0x12, $MEM_COMMIT, $PAGE_EXECUTE_READWRITE )
$DataStore = _MemVirtualAllocEx( $wow[1], 0, 0x18, $MEM_COMMIT, $PAGE_EXECUTE_READWRITE )
The issues I'm having is that wow gives me an error like:
The instruction at "0x774A8C19" referenced memory at "0x00000024".
The memory could not be "written".
So could any nice non-trolling person help me
?