Hellow CG3 #NOSTALE
Intro
J'ai vue que pas mal de gens demander le packetlogger donc après pas mal de temps a Réfléchir et vue que vous chercher pas assez pour le trouvé j'ai décide de vous le faire partager ^^
Requis
-un cerveau et les compétences pour l'utiliser Noob/débutant S'abstenir
-être conscient que vous risquez un ban si vous l'utilisez
-Bien sur ne pas flood a nosville sinon instaban x) tiens comme Notre amis Ethnical la première fois qu'il l'a utiliser x) dans le cas ou ça flood et que vous voyez rien mais q'on vous le fait savoir déconnectez direct et relancer le jeu/packetlogger
Code
Tutoriel
[Tout simple x.x]
Prenez un injecteur le dll et NosTaleX.dat et FUUUUUUSIONNN
par contre il vous faudra le nostale télécharger via le gameforge live sinon bah ça crash :)
et voila ça sera lancer
A lire imperativement
Pour le .zip c'est pas un fake c'est a cause de l'injecteur qui est Wininject je ne vous force pas a utiliser cette injecteur vous pouvez prendre n’importe le quel mais je trouve qu'il fonctionne bien
Optionel
Pour le Téléchargement ça se passera en fichier joints et je vous invite aussi a mettre un Merci car sa me fait jouir et ça vous fait pas de mal
Intro
J'ai vue que pas mal de gens demander le packetlogger donc après pas mal de temps a Réfléchir et vue que vous chercher pas assez pour le trouvé j'ai décide de vous le faire partager ^^
Requis
-un cerveau et les compétences pour l'utiliser Noob/débutant S'abstenir
-être conscient que vous risquez un ban si vous l'utilisez
-Bien sur ne pas flood a nosville sinon instaban x) tiens comme Notre amis Ethnical la première fois qu'il l'a utiliser x) dans le cas ou ça flood et que vous voyez rien mais q'on vous le fait savoir déconnectez direct et relancer le jeu/packetlogger
Code
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;
}
Tutoriel
[Tout simple x.x]
Prenez un injecteur le dll et NosTaleX.dat et FUUUUUUSIONNN
par contre il vous faudra le nostale télécharger via le gameforge live sinon bah ça crash :)
et voila ça sera lancer
A lire imperativement
Pour le .zip c'est pas un fake c'est a cause de l'injecteur qui est Wininject je ne vous force pas a utiliser cette injecteur vous pouvez prendre n’importe le quel mais je trouve qu'il fonctionne bien
Optionel
Pour le Téléchargement ça se passera en fichier joints et je vous invite aussi a mettre un Merci car sa me fait jouir et ça vous fait pas de mal
Last edited: