Halli hallo liebe E*pvp community,
ich habe mal zum Zeitvertreib ein kleines Projekt gestartet um ein wenig mehr Übung in Java zu bekommen. Um weiter machen zu können, muss ich die folgenden Zeilen in Java übersetzt kriegen.
Decrypt.cpp
Eine Methode aus dem Hauptteil:
Wie oben schon erwähnt möchte ich das Decrypten gerne in java übersetzen, nur leider habe ich keine Ahnung was genau zum entschlüsseln passiert.
Ich würde mich über hilfe in jeglicher form freuen.
mfg
b0147
PS: Credits an Bloodx und ZeroTen, weil das ein teil von ihrem veröffentlichten Werk ist
ich habe mal zum Zeitvertreib ein kleines Projekt gestartet um ein wenig mehr Übung in Java zu bekommen. Um weiter machen zu können, muss ich die folgenden Zeilen in Java übersetzt kriegen.
Decrypt.cpp
Code:
#include "Decrypt.h"
unsigned char DecryptTable[] = {
0xD9, 0x79, 0xB0, 0x75, 0xBE, 0x4D, 0x99, 0xBD,
0x66, 0x9A, 0x21, 0x16, 0xCC, 0x58, 0x5D, 0x43,
0xE2, 0x7D, 0xF7, 0x95, 0xC8, 0x7C, 0x2A, 0xB1,
0x9D, 0xC6, 0x2F, 0x35, 0x91, 0xF8, 0x9E, 0x4B,
0xD8, 0x69, 0x59, 0xA3, 0x24, 0x78, 0x27, 0x88,
0xB8, [.... usw....]
};
long decrypt(unsigned long index, unsigned char *buf, unsigned long len)
{
if(!buf || !len)
return -1;
index &= 0x3F;
index <<= 8;
while (len--)
buf[len] = DecryptTable[index + buf[len]];
return 0;
}
Eine Methode aus dem Hauptteil:
Code:
void CClient::WorkOnPacket(char* data,int size)
{
#ifdef STUPID_KEY_SEARCHER
char _tdata[1024];
for (int i = 0;i<63;i++)
{
memcpy(_tdata,data,1024);
decrypt(i,(unsigned char*)_tdata,size);
if (_tdata[1]=='t')
{
//0 1 2 => type , 3 => t für "test"
printf("Found 't'... with key %d /ke sent by server: %d\n",i,DecKey);
OutputMemoryDump(_tdata,size);
//break;
}
}
#endif
decrypt(DecKey,(unsigned char*)data,size);
//increase key
DecKey=(DecKey+1)%64;
data[size]=0; //<- anit "s" overflow.. ;)
if (PacketList[(unsigned char)(data[0])]==0)
{
#ifdef _DEBUG
printf("UNKNOW PACKET ! KEY=%d\n",DecKey);
OutputMemoryDump(data,size);
printf("\n");
#endif
}
}
Ich würde mich über hilfe in jeglicher form freuen.
mfg
b0147
PS: Credits an Bloodx und ZeroTen, weil das ein teil von ihrem veröffentlichten Werk ist