UPDATE NOTE:
The same code may be able to be found here... i can not be bothered looking for it again unless i need it. I will post up if i find it again if i actually look for it tho :)
Usage set a key hook or some other method to call this function I would suggest a console window of some kind.
SendChat("Hello");
Would say Hello :)
I am releasing this here so people may make use of it but I must request please do not use it to spam in game with garbage adverts etc...
Use it as a learning tool Its taken me 3 days or so to work this out haha...
This is proof that a dll can be used to make the game send packets to the server. Now to make it send different packets :) this is just sending chat.
I am going to attempt this method for things such as portal usage, return scroll usage, respawn, death, movement, duel, attack, skills, items, party, guild, whisper etc.
If you hook this using a detour you could make your dll read commands the user types in and prevent them being sent to the server just an example of one possible use.
Cya till next time :)
The same code may be able to be found here... i can not be bothered looking for it again unless i need it. I will post up if i find it again if i actually look for it tho :)
C++ Code for a dll you can inject.Quote:
00412F10 /. 55 PUSH EBP
00412F11 |. 8BEC MOV EBP,ESP
00412F13 |. 83EC 08 SUB ESP,8
00412F16 |. C745 FC DC2B5>MOV DWORD PTR SS:[EBP-4],TwelveSk.00572B>
00412F1D |. 837D 08 00 CMP DWORD PTR SS:[EBP+8],0
00412F21 |. 74 06 JE SHORT TwelveSk.00412F29
00412F23 |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00412F26 |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
00412F29 |> 6A 04 PUSH 4
00412F2B |. 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4]
00412F2E |. 83C1 01 ADD ECX,1
00412F31 |. 51 PUSH ECX
00412F32 |. 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]
00412F35 |. 52 PUSH EDX
00412F36 |. E8 D5901200 CALL TwelveSk.0053C010
00412F3B |. 83C4 0C ADD ESP,0C
00412F3E |. 68 5BD35400 PUSH TwelveSk.0054D35B
00412F43 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
00412F46 |. 6BC0 0D IMUL EAX,EAX,0D
00412F49 |. 05 8CB00A01 ADD EAX,TwelveSk.010AB08C
00412F4E |. 50 PUSH EAX
00412F4F |. E8 0CA31200 CALL TwelveSk.0053D260
00412F54 |. 83C4 08 ADD ESP,8
00412F57 |. 8BE5 MOV ESP,EBP
00412F59 |. 5D POP EBP
00412F5A \. C3 RETN
Code:
void __cdecl SendChat( const char* szText )
{
UINT_PTR adr = 0x00412F18; //function address
__asm
{
push szText
mov eax,szText
mov ecx,0x005081E8
call adr
}
}
SendChat("Hello");
Would say Hello :)
I am releasing this here so people may make use of it but I must request please do not use it to spam in game with garbage adverts etc...
Use it as a learning tool Its taken me 3 days or so to work this out haha...
This is proof that a dll can be used to make the game send packets to the server. Now to make it send different packets :) this is just sending chat.
I am going to attempt this method for things such as portal usage, return scroll usage, respawn, death, movement, duel, attack, skills, items, party, guild, whisper etc.
If you hook this using a detour you could make your dll read commands the user types in and prevent them being sent to the server just an example of one possible use.
Cya till next time :)