Naja satus:
RECV hooked.. aber von ws2_32.dll
directes hooken von der RECV function ist nicht mehr möglich
also versuche ich über die ingame-functionen das packet zu endcrypten..
(
crypted hilft es net viel)
Hab schon die AES Crypt-Function gefunden
(
like AES...)
PHP Code:
typedef void (__fastcall* TSubCrypt)(int a1, int a2, int a3, int a4, char* a5);
TSubCrypt SubAES;
char AESKey[16]={0xFE,0xDC,0xBA,0x98,0x76,0x54,0x32,0x10,
0x0F,0x1E,0x2D,0x3C,0x4B,0x5A,0x69,0x78};
signed int __stdcall DecryptAES(int a1, int a2, int a3, int a4)
{
signed int result; // eax@5
if ( a1 && a2 && a3 && a4 )
{
SubAES(a3, a4, a1, a2, (char*)&AESKey); //unk_64E4D0 keine ahnugnw as das ist
result = 0;
}
else
{
result = 1;
}
return result;
}
char UNKNOW[255]={0}; //WAS IST DA ?
void OwnDecrypt(char* buf)
{
DecryptAES(int(buf+3),int((*PWORD(buf))-3),int(&UNKNOW),int(buf+3));
}
typedef int (WINAPI *TRECV)( SOCKET s, char* buf,int len,int flags );
TRECV OriginalRECV;
int WSAAPI MyRECV(SOCKET s,char* buf,int len,int flags )
{
int result= recv(s,buf,len,flags);
if ((len > 2) && result==len)
{
//GOT PACKET
printf("Got a packet ...n");
//first TableCrypt.. (ausgelassen)
//second LikeAESCrypt...
OwnDecrypt(buf-2);
//sollte das packet entschlüsselt sein
//wenn es net crashen würde .. vllt wegen UNKNOW[255]
//oder AESKey buggy ? ändert sich vllt in runtime (was ich weiß ist er static)
}
return result;
}
nur leider crasht es.. .soll ivh vllt den TableCrypt hinzufügen ? naja
ich glaub net das es daran liegt.. ~.~
(aber ich glaub auch net das ich hier meine antwort bekommen werde xD)