[Guide] Handling Client Networking @ Any State Process

10/05/2021 15:40 WolfgangNeverDie#31
Hi! I want to parse packet in login screen. Does anyone know the offset to hook?
Thanks :D
10/05/2021 16:04 Laag#82#32
Quote:
Originally Posted by WolfgangNeverDie View Post
Hi! I want to parse packet in login screen. Does anyone know the offset to hook?
Thanks :D
Hello,

this 0086d2a0 & 0086bfc0

PHP Code:
0085fc60    CPSCharacterSelect::OnNetMsg
00863ad0    CPSQuickStart
::OnNetMsg
0086bfc0    CPSTitle
::OnNetMsg
0046fd80    CObjChild
::OnNetMsg
0084cab0    CPSMission
::OnNetMsg
0084df10    CPSCharacterCreateChina
::OnNetMsg
00851a80    CPSCharacterCreateEurope
::OnNetMsg
008645e0    CPSRestart
::OnNetMsg
0086d2a0    CPSVersionCheck
::OnNetMsg 
Special thanks to: florian0 :rolleyes:
10/05/2021 16:20 WolfgangNeverDie#33
Quote:
Originally Posted by khaleed2010 View Post
Hello,

this 0086d2a0 & 0086bfc0

PHP Code:
0085fc60    CPSCharacterSelect::OnNetMsg
00863ad0    CPSQuickStart
::OnNetMsg
0086bfc0    CPSTitle
::OnNetMsg
0046fd80    CObjChild
::OnNetMsg
0084cab0    CPSMission
::OnNetMsg
0084df10    CPSCharacterCreateChina
::OnNetMsg
00851a80    CPSCharacterCreateEurope
::OnNetMsg
008645e0    CPSRestart
::OnNetMsg
0086d2a0    CPSVersionCheck
::OnNetMsg 
Special thanks to: florian0 :rolleyes:
Thank's you!

But bro! Can you explain more?
2 offsets need to replace. idk :D
Code:
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
	switch (dwReason)
	{
	case DLL_PROCESS_ATTACH:
	{
		replaceAddr(0x00DD440C, addr_from_this(&CPSMission::OnPacketRecv));
		DisableThreadLibraryCalls(hInstance);
	}
	break;
	}
	return TRUE;
}
Code:
int CPSMission::OnPacketRecv(MsgStreamBuffer* MsgBuffer)
{
	return reinterpret_cast<int(__thiscall*)(CPSMission*, MsgStreamBuffer*)>(0x0084CAB0)(this, MsgBuffer);
}
10/05/2021 17:41 Laag#82#34
Quote:
Originally Posted by WolfgangNeverDie View Post
Thank's you!

But bro! Can you explain more?
2 offsets need to replace. idk :D
Code:
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
	switch (dwReason)
	{
	case DLL_PROCESS_ATTACH:
	{
		replaceAddr(0x00DD440C, addr_from_this(&CPSMission::OnPacketRecv));
		DisableThreadLibraryCalls(hInstance);
	}
	break;
	}
	return TRUE;
}
Code:
int CPSMission::OnPacketRecv(MsgStreamBuffer* MsgBuffer)
{
	return reinterpret_cast<int(__thiscall*)(CPSMission*, MsgStreamBuffer*)>(0x0084CAB0)(this, MsgBuffer);
}


Code:
replaceAddr(0x00dd92d4, addr_from_this(&CPSTitle::OnPacketRecv));

Code:
return reinterpret_cast<int(__thiscall*)(CPSTitle*, MsgStreamBuffer*)>(0x0086bfc0)(this, MsgBuffer);
10/05/2021 18:54 WolfgangNeverDie#35
Quote:
Originally Posted by khaleed2010 View Post
Code:
replaceAddr(0x00dd92d4, addr_from_this(&CPSTitle::OnPacketRecv));

Code:
return reinterpret_cast<int(__thiscall*)(CPSTitle*, MsgStreamBuffer*)>(0x0086bfc0)(this, MsgBuffer);
Oh yeah. Thank's youuuuuu!
10/16/2021 06:42 WolfgangNeverDie#36
@[Only registered and activated users can see links. Click Here To Register...] Bro! How to handle the outgoing packets? (Client -> Server)
10/17/2021 08:29 Laag#82#37
Quote:
Originally Posted by WolfgangNeverDie View Post
@[Only registered and activated users can see links. Click Here To Register...] Bro! How to handle the outgoing packets? (Client -> Server)
What you mean
10/17/2021 12:05 WolfgangNeverDie#38
Quote:
Originally Posted by khaleed2010 View Post
What you mean
I want to read some packet from client-side (7021 7074 etc) and re-build it :D