Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Nostale > Nostale Hacks, Bots, Cheats & Exploits
You last visited: Today at 20:28

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Release] Packetlogger - By Doktor.

Discussion on [Release] Packetlogger - By Doktor. within the Nostale Hacks, Bots, Cheats & Exploits forum part of the Nostale category.

Closed Thread
 
Old   #1
 
Doktor.'s Avatar
 
elite*gold: 0
Join Date: Aug 2011
Posts: 1,190
Received Thanks: 549
Smile [Release][Source] Packetlogger - By Doktor.

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



-------------------------------
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.
Attached Files
File Type: rar Packetlogger - V1.0.rar (3.24 MB, 953 views)
File Type: rar Packetlogger - V1.1.rar (3.24 MB, 387 views)
File Type: rar Packetlogger - V1.2.rar (3.23 MB, 1319 views)
File Type: rar PacketLogger - V2.0.rar (3.16 MB, 5140 views)
Doktor. is offline  
Thanks
17 Users
Old 03/08/2014, 15:47   #2
 
elite*gold: 0
Join Date: Jan 2011
Posts: 75
Received Thanks: 2
friert beim Start und beenden Sie ein weißes Fenster

EDIT: nach 2 Minuten es funktionierte
luigi1000 is offline  
Old 03/08/2014, 20:54   #3
 
elite*gold: 5
Join Date: Dec 2013
Posts: 683
Received Thanks: 56
3 calls?
Guiso90 is offline  
Old 03/08/2014, 21:49   #4
 
Doktor.'s Avatar
 
elite*gold: 0
Join Date: Aug 2011
Posts: 1,190
Received Thanks: 549
Was meinst du mit 3 calls?
Doktor. is offline  
Old 03/08/2014, 23:45   #5
 
elite*gold: 5
Join Date: Dec 2013
Posts: 683
Received Thanks: 56
Logt er alle Packete oder wie bei Elektrochemie nur die hälfte...?
Guiso90 is offline  
Old 03/09/2014, 00:29   #6
 
Doktor.'s Avatar
 
elite*gold: 0
Join Date: Aug 2011
Posts: 1,190
Received Thanks: 549
Sollte momentan wie bei Elektrochemie's sein.

#Update - V1.1
- Crashes gefixed
- Keine Lags mehr bei zu vielen Packets
Doktor. is offline  
Thanks
1 User
Old 03/09/2014, 01:52   #7

 
Shıgeo's Avatar
 
elite*gold: 61
Join Date: Apr 2011
Posts: 172
Received Thanks: 125
Wird es auch einen Source geben?
Wäre super
Shıgeo is offline  
Old 03/09/2014, 01:58   #8

 
elite*gold: 64
Join Date: May 2011
Posts: 1,229
Received Thanks: 854
Die Source wird es nicht geben.
Das musst du selbst packen .
Ich glaube (fast-)jeder würde sich über die Source freuen.
BladeTiger12 is offline  
Thanks
2 Users
Old 03/09/2014, 02:00   #9

 
Shıgeo's Avatar
 
elite*gold: 61
Join Date: Apr 2011
Posts: 172
Received Thanks: 125
Okay. Dennoch gut.
Weiter so.
Shıgeo is offline  
Old 03/09/2014, 11:14   #10


 
aiimsh0ckz's Avatar
 
elite*gold: 158
Join Date: Apr 2012
Posts: 606
Received Thanks: 76
Gibt ja eine SRC zu einem Packetlogger. Sufu hilft!
aiimsh0ckz is offline  
Thanks
1 User
Old 03/09/2014, 12:44   #11
 
elite*gold: 0
Join Date: Jan 2011
Posts: 75
Received Thanks: 2
Sie können nichts tun, um "send x times" und "send infinite" mit Intervallzeit in ms?
luigi1000 is offline  
Old 03/09/2014, 13:40   #12
 
elite*gold: 5
Join Date: Dec 2013
Posts: 683
Received Thanks: 56
Also der selbe packetlogger wie von Elektrochemie nur mit anderen Design?....
Guiso90 is offline  
Old 03/09/2014, 14:21   #13
 
Doktor.'s Avatar
 
elite*gold: 0
Join Date: Aug 2011
Posts: 1,190
Received Thanks: 549
Momentan ja, aber bin an den anderen Packets dran, hab sie auch schon. Aber anscheint hab ich grad einen Fehler im Code und komme momentan einfach nicht dahinter. :b

@luigi1000
Nein, bau ich aber noch ein.
Doktor. is offline  
Thanks
1 User
Old 03/09/2014, 14:24   #14
 
elite*gold: 5
Join Date: Dec 2013
Posts: 683
Received Thanks: 56
aso dann werd ich mal schauen was du so daraus machst (:
Guiso90 is offline  
Old 03/11/2014, 07:44   #15
 
Doktor.'s Avatar
 
elite*gold: 0
Join Date: Aug 2011
Posts: 1,190
Received Thanks: 549
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, 11 );
	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;
}
Evtl. haben ja einige dafür Verwendung.
Doktor. is offline  
Thanks
2 Users
Closed Thread

Tags
hack, logger, nostale, packet, packetlogger


Similar Threads Similar Threads
[Release] EasyBot | By Doktor.
04/25/2014 - Nostale Hacks, Bots, Cheats & Exploits - 52 Replies
#Removed
[Release] AutoIt-Recieve-Packetlogger mit Sourcecode
08/07/2013 - Nostale Hacks, Bots, Cheats & Exploits - 20 Replies
Ich habe mich der Herausforderung gestellt in AutoIt einen Packetlogger zu schreiben, bisher werden nur die Packets geloggt, die der Client vom Server erhält, andersrum geht es noch nicht. Diese kleine Spielerei fing ich eigentlich an um meine neue CCInject.au3 zu testen, dann dachte ich aber, dass es sicherlich für viele interessant sein könnte einmal zu sehen wie einfach es doch ist an die Packets ranzukommen. Deshalb poste ich hier einmal einen relativ einfachen Packetlogger. Das...
[Release] PacketLogger Starter
08/10/2012 - Nostale Hacks, Bots, Cheats & Exploits - 41 Replies
Hier mein erster Release :) Es ist zwar nur ein kleines tool, wird jedoch vielen helfen denke ich :) Infos Es startet den Multiclient und ändert anschließend die VersionsNr. Zudem Injizieret er die dll automatisch. Somit muss man dies nicht mehr mit CE machen. http://www.abload.de/img/unbenanntogxfy.png



All times are GMT +1. The time now is 20:29.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.