Hey,
ich hab mir einen recv, send hook gebastelt.
Die Send funktion funktioniert einwandfrei aber die recv funktion leitet die packete nachdem loggen nicht mehr weiter.
Wenn ich die logging funktion bei der recv funktion austelle geht es einwandfrei.
Ich hoffe ihr könnt mir helfen :handsdown:
ich hab mir einen recv, send hook gebastelt.
Die Send funktion funktioniert einwandfrei aber die recv funktion leitet die packete nachdem loggen nicht mehr weiter.
Wenn ich die logging funktion bei der recv funktion austelle geht es einwandfrei.
Code:
int WINAPI XRecv(SOCKET Socket, char *Buffer, int Length, int Flags)
{
char *Buf = Buffer;
int leng = Recv(Socket, Buf, Length, Flags);
if (leng > 0)
{
PacketCryption(Buf, leng);
WriteLogRecv(Buf, leng);
}
return leng;
}
void WriteLogRecv(char* MSG, int Lenght)
{
FILE * logfile;
if((logfile=fopen("C:\\RecvLog.LOG", "a+")) != NULL)
{
time_t secs=time(0);
tm *t=localtime(&secs);
fprintf(logfile, "[RECV] :: %i >> %04d-%02d-%02d %02d:%02d:%02d >> ", Lenght, t->tm_year+1900,t->tm_mon+1,t->tm_mday, t->tm_hour,t->tm_min,t->tm_sec);
for(unsigned int i = 0; i < Lenght; i++)
{
fprintf(logfile, "0x%02x, ", (BYTE)MSG[i]);
}
fprintf(logfile, "\n");
fclose(logfile);
}
}
Recv = (int (WINAPI *)(SOCKET, char *, int, int))DetourFunction((PBYTE)GetProcAddress(GetModuleHandle(L"ws2_32.dll"), "recv"), (PBYTE)XRecv);