[Release] Packetlogger - By Doktor.

07/26/2017 15:09 Micks97#121
What is possible to do with packetlogger?
08/21/2017 17:59 Monster04#122
wie öffne ich das da ist bloß eine text datei
10/29/2017 22:22 Efeahmed1234#123
i got .dll missing error
11/09/2017 15:06 fullstopc#124
Quote:
Originally Posted by Doktor. View Post
Hab mich mal rangesetzt einen Packetlogger zu schreiben, aus Übungszwecken.
Bei Problemen o.Ä. könnt ihr euch einfach im Thread melden.

Funktionen:
- Ausgabe der gesendeten Packets
- Ausgabe der erhaltenen Packets
- Filtern der Packets
- Senden von Packets

- Braucht so schnell kein Update

[Only registered and activated users can see links. Click Here To Register...]

-------------------------------
Source zum abfangen der Packets
-------------------------------
Code:
#include <windows.h>
#include <stdio.h>

bool DetourFunc( BYTE* oldFunc, BYTE* newFunc, DWORD len )
{
	BYTE* newMem4base = NULL;
	DWORD dwOld;

	newMem4base = ( BYTE* )malloc( 5+len );

	if( newMem4base == NULL )
		return false;

	for( DWORD i = 0; i < ( len+5 ); i++ )
		newMem4base[i] = 0x90;

	VirtualProtect( oldFunc, len, PAGE_READWRITE, &dwOld );

	memcpy( newMem4base, oldFunc, len );
	oldFunc[0] = 0xE8;
	*( DWORD* )( oldFunc+0x01 ) = DWORD( newFunc-oldFunc-5 );
	oldFunc[5] = 0xE9;
	*( DWORD* )( oldFunc+0x06 ) = DWORD( newMem4base-( oldFunc+0x5 )-5 );
	newMem4base += len;
	newMem4base[0] = 0xE9;
	*( DWORD* )( newMem4base+0x01 ) = DWORD( ( oldFunc+10 )-newMem4base-5 );

	for( DWORD i = 10; i <len; i++ )
		oldFunc[i] = 0x90;

	return true;
}
bool bDataCompare(const unsigned char *pData, const unsigned char *bMask, const char *szMask)
{
	for(; *szMask; ++szMask, ++pData, ++bMask)
		if(*szMask == 'x' && *pData != *bMask )
			return false;
	return (*szMask) == 0;
}
DWORD dwFindPattern(BYTE *bMask, char *szMask)
{
	DWORD dw_Address =	0x00400000;
	DWORD dw_Len =		0x00436000;

	for(DWORD i = 0; i < dw_Len; i++)
		if(bDataCompare((unsigned char*) (dw_Address + i), bMask, szMask) )
			return (DWORD) (dw_Address + i);
	return 0;
}


void hkSend()
{
	char* packet;
	_asm
	{
		pushad 
		pushfd
		MOV packet,EDX
	}
	printf("Send: %s\n",packet);
	_asm
	{
		popfd 
		popad
	}
}
void hkRecv()
{
	char* packet;

	_asm
	{
		pushad 
		pushfd
		MOV packet,EDX
	}
	printf("Recv: %s\n",packet);
	_asm
	{
		popfd 
		popad
	}
}


DWORD WINAPI tThread(LPVOID param)
{
	AllocConsole();
	freopen("CONIN$", "r", stdin);
	freopen("CONOUT$", "w", stdout);
	freopen("CONOUT$", "w", stderr);

	/* Send */
	BYTE s_bPatter[] = {0x53, 0x56, 0x8B, 0xF2, 0x8B, 0xD8, 0xEB, 0x04};
	char *s_cPatter = "xxxxxxxx";
	DWORD dSend = dwFindPattern(s_bPatter,s_cPatter);
	/* Recv */
	BYTE r_bPatter[] = {0x55, 0x8B, 0xEC, 0x83, 0xC4, 0xF4, 0x53, 0x56, 0x57, 0x33, 0xC9, 0x89, 0x4D, 0xF4, 0x89, 0x55, 0xFC, 0x8B, 0xD8, 0x8B, 0x45, 0xFC};
	char *r_cPatter = "xxxxxxxxxxxxxxxxxxxxxx";
	DWORD dRecv = dwFindPattern(r_bPatter,r_cPatter);

	DetourFunc( ( BYTE* )dSend, ( BYTE* )&hkSend, 14 );
	DetourFunc( ( BYTE* )dRecv, ( BYTE* )&hkRecv, 14 );
	return 0x0;
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
{
	switch (ul_reason_for_call)
	{
	case DLL_PROCESS_ATTACH:
		CreateThread(nullptr, 0, tThread, nullptr, 0, nullptr);
		DisableThreadLibraryCalls(hModule);
		break;
	}
	return TRUE;
}
Mfg.
Doktor.
Hi Doktor,
i try to use your code to create a new project.
for receiving packet, nothing wrong.
but then sending packet, everytime sending packet, it will prompt a messagebox show me "access violation“, do you have any idea why like that?

---------------------------------------------------------------------------------------------------------
I manage to find out, is because i set my application as debug mode. after set as release mode than dont have the messagebox again, thanks.
11/11/2017 02:14 RatuzeQ#125
Sameone know what "csp_e" packet is?
11/16/2017 17:41 Toastb#126
Kennt jemand das Paket zum Auto- Perfektionieren ?...
01/27/2018 20:54 4byte#127
Still working. :)
02/03/2018 22:05 NightCrafterHD#128
Ich verstehe das irgendwie nicht
Habe noch nie ein Packet Logger benutzt
02/16/2018 13:40 Yueki#129
Hi, how do not bann with the bot of ice flowers ?
02/24/2018 14:58 Jidoz#130
Hallo ich habe ein Problem und zwar kann ich den Paketlogger ganz normal Starten aber sobald ich ein Paket sende kommt die Meldung Nostale.exe funktioniert nicht mehr und das Spiel schließt sich.(Ich benutze es auf Nostale Vendetta) Bitte um Hilfe Mfg.
02/24/2018 15:40 Pumba98#131
Quote:
Originally Posted by Jidoz View Post
Hallo ich habe ein Problem und zwar kann ich den Paketlogger ganz normal Starten aber sobald ich ein Paket sende kommt die Meldung Nostale.exe funktioniert nicht mehr und das Spiel schließt sich.(Ich benutze es auf Nostale Vendetta) Bitte um Hilfe Mfg.
Der wurde schon lange nicht mehr aktualisiert, versuchs mal hiermit [Only registered and activated users can see links. Click Here To Register...]
03/03/2018 02:31 zyrlax#132
Quote:
Originally Posted by fullstopc View Post
I manage to find out, is because i set my application as debug mode. after setting as release mode than dont have the messagebox again, thanks.
Dude, that's exactly what i was looking for :handsdown:
Had the same issue, now it's solved
05/25/2018 03:24 KsExtreme#133
Hat man die Möglichkeit Items zu verdoppeln?

Ein Typ auf dem meinem p server wo ich drauf spiele hat seinen Abt 10x Dupliziert.
05/28/2018 00:01 IceTrailer#134
Quote:
Originally Posted by KsExtreme View Post
Hat man die Möglichkeit Items zu verdoppeln?

Ein Typ auf dem meinem p server wo ich drauf spiele hat seinen Abt 10x Dupliziert.
Wenn du einen Exploit findest, ja.
06/29/2018 20:16 onokoxo12#135
guys is it possible to fix acces violation error.Pls answer me here or private message