|
You last visited: Today at 04:30
Advertisement
X-TRAP
Discussion on X-TRAP within the Last Chaos forum part of the MMORPGs category.
08/14/2010, 16:20
|
#286
|
elite*gold: 0
Join Date: Mar 2010
Posts: 345
Received Thanks: 82
|
man müsste sich mal mit nem spambot unterhalten .. die habens ja auch iwie geschafft xD
|
|
|
08/14/2010, 16:26
|
#287
|
elite*gold: 0
Join Date: Jan 2010
Posts: 8,989
Received Thanks: 3,457
|
Die benutzen aber keine funktion die detected wird ganz einfach.
|
|
|
08/14/2010, 16:32
|
#288
|
elite*gold: 0
Join Date: Jul 2010
Posts: 1
Received Thanks: 0
|
Leuzzz ihr seid glasse
|
|
|
08/14/2010, 16:35
|
#289
|
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
|
Quote:
Originally Posted by Offensivkiller
Die benutzen aber keine funktion die detected wird ganz einfach.
|
hmm ich dachte eig früher immer das sind professionelle bots die nichtmal ein LC fenster offen haben, sondern nurnoch TcpIp-Packete schicken, aber immoment zweifel ich daran stark.
|
|
|
08/14/2010, 16:42
|
#290
|
elite*gold: 0
Join Date: Apr 2007
Posts: 2,394
Received Thanks: 6,644
|
So ist es auch oftmals. Und wenn man die Packetverschlüsselung handshake
etc alles fertig hat, sollte X-Trap auch keine große hürde sein.
Dann muss man halt nur noch wissen wie die Antwort für X-Trap erstellt
wird und das auch selber tun.
|
|
|
08/14/2010, 16:58
|
#291
|
elite*gold: 2
Join Date: Aug 2007
Posts: 599
Received Thanks: 2,927
|
Quote:
Originally Posted by shadow52
Kann jemand was hiermit Anfangen ?
Sind 2 Daten mit denen X-Trap irgendwas macht wen es startet und während man LastChaos an hatt und spielt.)
"http://xtrap.lastchaos.de/XDataV1.Xtp"
"http://xtrap.lastchaos.de/XDataFM0.Xtp"
|
das sind Patch dateien, damit updated sich Xtrap
Quote:
Originally Posted by wurstbrot123
So ist es auch oftmals. Und wenn man die Packetverschlüsselung handshake
etc alles fertig hat, sollte X-Trap auch keine große hürde sein.
Dann muss man halt nur noch wissen wie die Antwort für X-Trap erstellt
wird und das auch selber tun.
|
die Verschlüsselung ist nicht weiter ein problem, ist relativ einfach zu knacken, (haufenweise BitShift+Xor), das problem ist der 128 Byte Key,
dieser wird aus 6 Datenpacketen zufällig generiert, wie der client das genau macht und der server das versteht hab ich noch nicht raus, soweit ich das sehen kann muss der Key aber bei jedem Paket identisch sein, da das Login Packet immer den selben Key benutzt
hier mein versuch decrypt versuch, vieleicht kannst du ja fortführen womit ich angefangen hab wurstbrot ^^ (alle werte beziehen sich auf den Eternia Client, weil dieser sich ja nicht ändern kann)
Code:
#include <stdio.h>
#include <stdlib.h>
int DecrypterData_105E0A48[64] = {
0x01010400, 0x00000000, 0x00010000, 0x01010404, 0x01010004, 0x00010404, 0x00000004, 0x00010000,
0x00000400, 0x01010400, 0x01010404, 0x00000400, 0x01000404, 0x01010004, 0x01000000, 0x00000004,
0x00000404, 0x01000400, 0x01000400, 0x00010400, 0x00010400, 0x01010000, 0x01010000, 0x01000404,
0x00010004, 0x01000004, 0x01000004, 0x00010004, 0x00000000, 0x00000404, 0x00010404, 0x01000000,
0x00010000, 0x01010404, 0x00000004, 0x01010000, 0x01010400, 0x01000000, 0x01000000, 0x00000400,
0x01010004, 0x00010000, 0x00010400, 0x01000004, 0x00000400, 0x00000004, 0x01000404, 0x00010404,
0x01010404, 0x00010004, 0x01010000, 0x01000404, 0x01000004, 0x00000404, 0x00010404, 0x01010400,
0x00000404, 0x01000400, 0x01000400, 0x00000000, 0x00010004, 0x00010400, 0x00000000, 0x01010004
};
int DecrypterData_105E0B48[64] = {
0x80108020, 0x80008000, 0x00008000, 0x00108020, 0x00100000, 0x00000020, 0x80100020, 0x80008020,
0x80000020, 0x80108020, 0x80108000, 0x80000000, 0x80008000, 0x00100000, 0x00000020, 0x80100020,
0x00108000, 0x00100020, 0x80008020, 0x00000000, 0x80000000, 0x00008000, 0x00108020, 0x80100000,
0x00100020, 0x80000020, 0x00000000, 0x00108000, 0x00008020, 0x80108000, 0x80100000, 0x00008020,
0x00000000, 0x00108020, 0x80100020, 0x00100000, 0x80008020, 0x80100000, 0x80108000, 0x00008000,
0x80100000, 0x80008000, 0x00000020, 0x80108020, 0x00108020, 0x00000020, 0x00008000, 0x80000000,
0x00008020, 0x80108000, 0x00100000, 0x80000020, 0x00100020, 0x80008020, 0x80000020, 0x00100020,
0x00108000, 0x00000000, 0x80008000, 0x00008020, 0x80000000, 0x80100020, 0x80108020, 0x00108000
};
int DecrypterData_105E0C48[64] = {
0x00000208, 0x08020200, 0x00000000, 0x08020008, 0x08000200, 0x00000000, 0x00020208, 0x08000200,
0x00020008, 0x08000008, 0x08000008, 0x00020000, 0x08020208, 0x00020008, 0x08020000, 0x00000208,
0x08000000, 0x00000008, 0x08020200, 0x00000200, 0x00020200, 0x08020000, 0x08020008, 0x00020208,
0x08000208, 0x00020200, 0x00020000, 0x08000208, 0x00000008, 0x08020208, 0x00000200, 0x08000000,
0x08020200, 0x08000000, 0x00020008, 0x00000208, 0x00020000, 0x08020200, 0x08000200, 0x00000000,
0x00000200, 0x00020008, 0x08020208, 0x08000200, 0x08000008, 0x00000200, 0x00000000, 0x08020008,
0x08000208, 0x00020000, 0x08000000, 0x08020208, 0x00000008, 0x00020208, 0x00020200, 0x08000008,
0x08020000, 0x08000208, 0x00000208, 0x08020000, 0x00020208, 0x00000008, 0x08020008, 0x00020200
};
int DecrypterData_105E0D48[64] = {
0x00802001, 0x00002081, 0x00002081, 0x00000080, 0x00802080, 0x00800081, 0x00800001, 0x00002001,
0x00000000, 0x00802000, 0x00802000, 0x00802081, 0x00000081, 0x00000000, 0x00800080, 0x00800001,
0x00000001, 0x00002000, 0x00800000, 0x00802001, 0x00000080, 0x00800000, 0x00002001, 0x00002080,
0x00800081, 0x00000001, 0x00002080, 0x00800080, 0x00002000, 0x00802080, 0x00802081, 0x00000081,
0x00800080, 0x00800001, 0x00802000, 0x00802081, 0x00000081, 0x00000000, 0x00000000, 0x00802000,
0x00002080, 0x00800080, 0x00800081, 0x00000001, 0x00802001, 0x00002081, 0x00002081, 0x00000080,
0x00802081, 0x00000081, 0x00000001, 0x00002000, 0x00800001, 0x00002001, 0x00802080, 0x00800081,
0x00002001, 0x00002080, 0x00800000, 0x00802001, 0x00000080, 0x00800000, 0x00002000, 0x00802080
};
int DecrypterData_105E0E48[64] = {
0x00000100, 0x02080100, 0x02080000, 0x42000100, 0x00080000, 0x00000100, 0x40000000, 0x02080000,
0x40080100, 0x00080000, 0x02000100, 0x40080100, 0x42000100, 0x42080000, 0x00080100, 0x40000000,
0x02000000, 0x40080000, 0x40080000, 0x00000000, 0x40000100, 0x42080100, 0x42080100, 0x02000100,
0x42080000, 0x40000100, 0x00000000, 0x42000000, 0x02080100, 0x02000000, 0x42000000, 0x00080100,
0x00080000, 0x42000100, 0x00000100, 0x02000000, 0x40000000, 0x02080000, 0x42000100, 0x40080100,
0x02000100, 0x40000000, 0x42080000, 0x02080100, 0x40080100, 0x00000100, 0x02000000, 0x42080000,
0x42080100, 0x00080100, 0x42000000, 0x42080100, 0x02080000, 0x00000000, 0x40080000, 0x42000000,
0x00080100, 0x02000100, 0x40000100, 0x00080000, 0x00000000, 0x40080000, 0x02080100, 0x40000100
};
int DecrypterData_105E0F48[64] = {
0x20000010, 0x20400000, 0x00004000, 0x20404010, 0x20400000, 0x00000010, 0x20404010, 0x00400000,
0x20004000, 0x00404010, 0x00400000, 0x20000010, 0x00400010, 0x20004000, 0x20000000, 0x00004010,
0x00000000, 0x00400010, 0x20004010, 0x00004000, 0x00404000, 0x20004010, 0x00000010, 0x20400010,
0x20400010, 0x00000000, 0x00404010, 0x20404000, 0x00004010, 0x00404000, 0x20404000, 0x20000000,
0x20004000, 0x00000010, 0x20400010, 0x00404000, 0x20404010, 0x00400000, 0x00004010, 0x20000010,
0x00400000, 0x20004000, 0x20000000, 0x00004010, 0x20000010, 0x20404010, 0x00404000, 0x20400000,
0x00404010, 0x20404000, 0x00000000, 0x20400010, 0x00000010, 0x00004000, 0x20400000, 0x00404010,
0x00004000, 0x00400010, 0x20004010, 0x00000000, 0x20404000, 0x20000000, 0x00400010, 0x20004010
};
int DecrypterData_105E1048[64] = {
0x00200000, 0x04200002, 0x04000802, 0x00000000, 0x00000800, 0x04000802, 0x00200802, 0x04200800,
0x04200802, 0x00200000, 0x00000000, 0x04000002, 0x00000002, 0x04000000, 0x04200002, 0x00000802,
0x04000800, 0x00200802, 0x00200002, 0x04000800, 0x04000002, 0x04200000, 0x04200800, 0x00200002,
0x04200000, 0x00000800, 0x00000802, 0x04200802, 0x00200800, 0x00000002, 0x04000000, 0x00200800,
0x04000000, 0x00200800, 0x00200000, 0x04000802, 0x04000802, 0x04200002, 0x04200002, 0x00000002,
0x00200002, 0x04000000, 0x04000800, 0x00200000, 0x04200800, 0x00000802, 0x00200802, 0x04200800,
0x00000802, 0x04000002, 0x04200802, 0x04200000, 0x00200800, 0x00000000, 0x00000002, 0x04200802,
0x00000000, 0x00200802, 0x04200000, 0x00000800, 0x04000002, 0x04000800, 0x00000800, 0x00200002
};
int DecrypterData_105E1148[64] = {
0x10001040, 0x00001000, 0x00040000, 0x10041040, 0x10000000, 0x10001040, 0x00000040, 0x10000000,
0x00040040, 0x10040000, 0x10041040, 0x00041000, 0x10041000, 0x00041040, 0x00001000, 0x00000040,
0x10040000, 0x10000040, 0x10001000, 0x00001040, 0x00041000, 0x00040040, 0x10040040, 0x10041000,
0x00001040, 0x00000000, 0x00000000, 0x10040040, 0x10000040, 0x10001000, 0x00041040, 0x00040000,
0x00041040, 0x00040000, 0x10041000, 0x00001000, 0x00000040, 0x10040040, 0x00001000, 0x00041040,
0x10001000, 0x00000040, 0x10000040, 0x10040000, 0x10040040, 0x10000000, 0x00040000, 0x10001040,
0x00000000, 0x10041040, 0x00040040, 0x10000040, 0x10040000, 0x10001000, 0x10001040, 0x00000000,
0x10041040, 0x00041000, 0x00041000, 0x00001040, 0x00001040, 0x00040040, 0x10000000, 0x10041000,
};
// Der Login Key, ist nur beim LoginPaket Valid
int DecrypterData_ESI[32] = {
0x000D2E32, 0x2F312913, 0x3B012A06, 0x2E15332E, 0x031C292E, 0x3C1A0523, 0x1B061529, 0x213B2037,
0x2F213527, 0x38093818, 0x022A001D, 0x361A1B19, 0x0F361E10, 0x031C3B24, 0x15311A36, 0x2209042E,
0x16270536, 0x02352F20, 0x25102A35, 0x1E2D0231, 0x301E3A28, 0x30263E12, 0x3E2A1D1C, 0x0925141A,
0x24092701, 0x1B2A110E, 0x281B310B, 0x05360F24, 0x3D2D0C3B, 0x05040A2D, 0x19351810, 0x2132271D
};
char KeyData_105E0960[56] = {
0x38, 0x30, 0x28, 0x20, 0x18, 0x10, 0x08, 0x00,
0x39, 0x31, 0x29, 0x21, 0x19, 0x11, 0x09, 0x01,
0x3A, 0x32, 0x2A, 0x22, 0x1A, 0x12, 0x0A, 0x02,
0x3B, 0x33, 0x2B, 0x23, 0x3E, 0x36, 0x2E, 0x26,
0x1E, 0x16, 0x0E, 0x06, 0x3D, 0x35, 0x2D, 0x25,
0x1D, 0x15, 0x0D, 0x05, 0x3C, 0x34, 0x2C, 0x24,
0x1C, 0x14, 0x0C, 0x04, 0x1B, 0x13, 0x0B, 0x03
}
char KeyData_105E0998[24] = {
0x0D, 0x10, 0x0A, 0x17, 0x00, 0x04, 0x02, 0x1B,
0x0E, 0x05, 0x14, 0x09, 0x16, 0x12, 0x0B, 0x03,
0x19, 0x07, 0x0F, 0x06, 0x1A, 0x13, 0x0C, 0x01
}
char KeyData_105E09B0[24] = {
0x28, 0x33, 0x1E, 0x24, 0x2E, 0x36, 0x1D, 0x27,
0x32, 0x2C, 0x20, 0x2F, 0x2B, 0x30, 0x26, 0x37,
0x21, 0x34, 0x2D, 0x29, 0x31, 0x23, 0x1C, 0x1F
}
char KeyData_105E09C8[16] = {
0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00,
0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x00
}
char KeyData_105E09D8[96] = {
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x40, 0x00,
0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x10, 0x00,
0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00,
0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00,
0x00, 0x80, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00, 0x20, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
0x80, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
0x20, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
}
char KeyData_105E0A38[16] = {
0x01, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
0x0F, 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1C
}
void GenerateKey(int *Data, int * Key)
{
/*
int v2; // edx@1
char *v3; // esi@1
int result; // eax@2
unsigned int v5; // ecx@2
int v6; // eax@2
int v7; // ebx@2
int v8; // edi@2
unsigned int v9; // ebx@2
unsigned int v10; // ebx@2
int v11; // edi@2
char v12; // zf@2
signed int v13; // [sp+10h] [bp-84h]@1
char v14; // [sp+14h] [bp-80h]@1
v2 = a2;
v3 = &v14;
v13 = 16;
do
{
v5 = *(_DWORD *)(v2 + 4);
v6 = *(_DWORD *)v2;
v7 = *(_DWORD *)v2;
v8 = v7 & 0xFC0000 | 16 * (*(_DWORD *)v2 & 0xFC0);
v9 = v5 >> 4;
v3 += 8;
v10 = (*(_DWORD *)(v2 + 4) & 0xFC0 | v9 & 0xFC000) >> 6;
v2 += 8;
*((_DWORD *)v3 - 2) = v10 | (v8 << 6);
v11 = v5 & 0x3F | (v5 >> 4) & 0x3F00 | ((v6 & 0x3F000 | 16 * (v6 & 0x3F)) << 12);
result = v13 - 1;
v12 = v13 == 1;
*((_DWORD *)v3 - 1) = v11;
--v13;
}
while ( !v12 );
if ( a1 < (char *)a1 + 128 )
memcpy(a1, &v14, 0x80u);
return result;
*/
}
void Crypt(int *DataIn, int *DataOut)
{
unsigned char *Data1ptr = (unsigned char*)DataIn;
unsigned char *Data2ptr = (unsigned char*)DataIn+4;
unsigned char *Data3ptr = (unsigned char*)DataOut;
unsigned char *Data4ptr = (unsigned char*)DataOut+4;
unsigned int EAX=0,EDX=0,ECX=0,ESI=0,EBX=0,EDI=0,EBP=0;
unsigned int j,*DecryptDataPtr,*ESIDataPtr,ESI_DataOffset=0;
unsigned int tempvar1=0,tempvar2=0;
EAX = *Data1ptr << 24 | *(Data1ptr+1) << 16 | *(Data1ptr+2) << 8 | *(Data1ptr+3); // EAX
EDX = *Data2ptr << 24 | *(Data2ptr+1) << 16 | *(Data2ptr+2) << 8 | *(Data2ptr+3); // EDX
ECX = ((EDX & 0x0F0F0F0F) ^ (EAX >> 4) & 0x0F0F0F0F);
EAX ^= 16 * ECX;
EDX ^= ECX;
ECX = (EDX & 0x0000FFFF) ^ (EAX >> 0x10);
EDX ^= ECX; //XOR EDX,ECX
EAX ^= (ECX << 0x10); //XOR EAX,ECX + SHL ECX,10
ECX = (EAX & 0x33333333) ^ ((EDX >> 0x2) & 0x33333333);
EAX ^= ECX; //XOR EAX,ECX
EDX ^= 4 * ECX;
ECX = (EAX & 0x00FF00FF) ^ (EDX >> 0x8) & 0x00FF00FF;
EAX ^= ECX; //XOR EAX,ECX
ECX = 2 * ((ECX << 0x8) ^ EDX) | (((ECX << 0x8) ^ EDX) >> 0x1F);
EDX = (ECX ^ EAX) & 0xAAAAAAAA;
ECX ^= EDX;
EDX = 2 * (EAX ^ EDX) | ((EAX ^ EDX) >> 0x1F);
j=8;
ESIDataPtr = (unsigned int*)DecrypterData_ESI;
do
{
EAX = *ESIDataPtr ^ ((ECX >> 4) | (ECX << 28));
ESIDataPtr += 4;
EDX ^= DecrypterData_105E1048[(EAX & 0x3F)] |
DecrypterData_105E0E48[(EAX >> 8) & 0x3F] |
DecrypterData_105E0C48[(EAX >> 16) & 0x3F] |
DecrypterData_105E0A48[(EAX >> 24) & 0x3F] |
DecrypterData_105E1148[(ECX ^ *(ESIDataPtr-0x3)) & 0x3F] |
DecrypterData_105E0F48[((ECX ^ *(ESIDataPtr-0x3)) >> 8) & 0x3F] |
DecrypterData_105E0D48[((ECX ^ *(ESIDataPtr-0x3)) >> 16) & 0x3F] |
DecrypterData_105E0B48[((ECX ^ *(ESIDataPtr-0x3)) >> 24) & 0x3F];
EAX = (*(ESIDataPtr-2) ^ ((EDX >> 4) | (EDX << 28)));
ECX ^= DecrypterData_105E1048[(EAX & 0x3F)] |
DecrypterData_105E0E48[((*(ESIDataPtr-2) ^ ((EDX >> 4) | (EDX << 28))) >> 8) & 0x3F] |
DecrypterData_105E0C48[(EAX >> 16) & 0x3F] |
DecrypterData_105E0A48[((*(ESIDataPtr-2) ^ ((EDX >> 4) | (EDX << 28))) >> 24) & 0x3F] |
DecrypterData_105E1148[(*(ESIDataPtr-1) ^ EDX) & 0x3F] |
DecrypterData_105E0F48[((*(ESIDataPtr-1) ^ EDX) >> 8) & 0x3F] |
DecrypterData_105E0D48[((*(ESIDataPtr-1) ^ EDX) >> 16) & 0x3F] |
DecrypterData_105E0B48[((*(ESIDataPtr-1) ^ EDX) >> 24) & 0x3F];
--j;
//printf("ECX: 0x%08X, EDX: 0x%08X\n\n",ECX,EDX); // nur ECX und EDX sind die wichtigen Werte...
}
while(j != 0);
/*
v25 = ((unsigned int)v3 >> 1) | (v3 << 31);
v26 = (v2 ^ (((unsigned int)v3 >> 1) | (v3 << 31))) & 0xAAAAAAAA;
v27 = v26 ^ v25;
v28 = v27;
v29 = ((v26 ^ v2) >> 1) | ((v26 ^ v2) << 31);
v30 = v29 >> 8;
v31 = v28 & 0xFF00FF ^ v30 & 0xFF00FF;
v32 = v31 ^ v27;
v33 = (v31 << 8) ^ v29;
v34 = v32 & 0x33333333 ^ ((unsigned int)v33 >> 2) & 0x33333333;
v35 = v34 ^ v32;
v36 = 4 * v34 ^ v33;
v37 = (unsigned __int16)v36 ^ ((unsigned int)v35 >> 16);
v38 = v37 ^ v36;
v39 = (v37 << 16) ^ v35;
v40 = v38 & 0xF0F0F0F ^ ((unsigned int)v39 >> 4) & 0xF0F0F0F;
v41 = v39 ^ 16 * (v38 & 0xF0F0F0F ^ ((unsigned int)v39 >> 4) & 0xF0F0F0F);
result = a1;
*(_DWORD *)a1 = v41;
*(_DWORD *)(a1 + 4) = v38 ^ v40;
return result;
*/
EAX = (ECX >> 1) | (ECX << 0x1F);
ECX = (EAX ^ EDX) & 0xAAAAAAAA;
EDX ^= ECX;
EAX ^= ECX;
ECX = EDX << 0x1F;
EDX >>= 1;
ESI = EAX & 0x00FF00FF;
ECX |= EDX;
EDX = (ECX >> 8) & 0x00FF00FF;
EDX ^= ESI;
EAX ^= EDX;
EDX <<= 8;
ECX ^= EDX;
ESI = EAX & 0x33333333;
EDX = (((ECX >> 2) & 0x33333333) ^ ESI);
EAX ^= EDX;
ECX ^= (EDX << 2);
EDX = (EAX >> 16) ^ (ECX & 0x0000FFFF);
ECX ^= EDX;
EAX ^= (EDX << 16);
EDX = (EAX >> 4) & 0x0F0F0F0F ^ (ECX & 0x0F0F0F0F);
ESI = (EDX << 4) ^ EAX;
EDX ^= ECX;
//ESI & EDX = Verschlüsselte Daten ^^
//printf("EDX: 0x%08X\nESI: 0x%08X\n\n",EDX,ESI);
*(Data3ptr+0) = ((ESI & 0xFF000000) >> 24);
*(Data3ptr+1) = ((ESI & 0x00FF0000) >> 16);
*(Data3ptr+2) = ((ESI & 0x0000FF00) >> 8);
*(Data3ptr+3) = ((ESI & 0x000000FF) >> 0);
*(Data4ptr+0) = ((EDX & 0xFF000000) >> 24);
*(Data4ptr+1) = ((EDX & 0x00FF0000) >> 16);
*(Data4ptr+2) = ((EDX & 0x0000FF00) >> 8);
*(Data4ptr+3) = ((EDX & 0x000000FF) >> 0);
printf("Unencrypted Data:\tEncrypted Data:\n");
printf("1: 0x%02X 0x%02X 0x%02X 0x%02X\t0x%02X 0x%02X 0x%02X 0x%02X\n",
*Data1ptr,*(Data1ptr+1),*(Data1ptr+2),*(Data1ptr+3),
*Data3ptr,*(Data3ptr+1),*(Data3ptr+2),*(Data3ptr+3));
printf("2: 0x%02X 0x%02X 0x%02X 0x%02X\t0x%02X 0x%02X 0x%02X 0x%02X\n",
*Data2ptr,*(Data2ptr+1),*(Data2ptr+2),*(Data2ptr+3),
*Data4ptr,*(Data4ptr+1),*(Data4ptr+2),*(Data4ptr+3));
}
int main()
{
/*
char PACKET[] = {
0x00, 0x00, 0x00, 0x1A, //Paket Länge, von 0 bis n
0x03, 0x00, //REQUEST LOGIN
0x00, 0x05, 0x29, 0x00, //CLIENT_PATCH_VERSION
0x74, 0x65, 0x73, 0x74, 0x69, 0x65, 0x65, 0x00, //ACCOUNT_NAME
0x70, 0x77, 0x74, 0x65, 0x73, 0x74, 0x00, //ACCOUNT_PASSWORD
0x09, 0x15, 0x94, 0xAB, 0x84, 0x44, 0x00 // ZEIT ?
};
//*/
// Dieses Paket ist verschlüsselt
///*
char PACKET[] = {
0x81, 0x94, 0xF2, 0x14,
0xA3, 0x05, 0x26, 0xB2,
0x77, 0xB2, 0x22, 0x42,
0x7F, 0x5A, 0xCE, 0x8D,
0xF4, 0x1E, 0xDD, 0x7C,
0xB1, 0x74, 0x64, 0xCF,
0xCE, 0x1C, 0xB0, 0x2F,
0xB7, 0x6A, 0x34, 0xE5,
0xA7
};
//*/
char *PACKET_OUT = (char*)malloc(sizeof(PACKET));
int encrypt = 0, i = 0;
if (encrypt == 1)
{
i = ((sizeof(PACKET) - 1) + 7) >> 3;
}
else
{
i = (sizeof(PACKET) + 7) >> 3;
}
int *Data1ptr,*Data2ptr, j=0;
unsigned char *Data1ptrByte,*Data2ptrByte;
int Data1, Data2;
printf("Count: %d,%d\n",i,sizeof(PACKET));
// GenerateKeyData
int v13 = 0;
char v49[56];
do
{
//v49[v13] = (KeyData_105E09C8[2 * (KeyData_105E0960[v13] & 7)] & *(&v32 + (KeyData_105E0960[v13] >> 3))) != 0;
++v13;
}
while ( v13 < 56 );
int v15 = 0;
/* do
{
v19 = &v51[8 * v15];
v16 = 0;
v17 = (unsigned __int8)byte_105E0A38[v15];
*(_DWORD *)v19 = 0;
*(_DWORD *)&v50[8 * v15] = 0;
v18 = v17;
do
{
if ( v17 >= 28 )
v20 = v48[v17];
else
v20 = v49[v17];
v47[v16++] = v20;
++v17;
}
while ( v16 < 28 );
v21 = 28;
v22 = v18 + 28;
do
{
if ( v22 >= 56 )
v23 = v48[v22];
else
v23 = v49[v22];
v47[v21++] = v23;
++v22;
}
while ( v21 < 56 );
v25 = 0;
v24 = (signed int)&unk_105E09D8;
do
{
if ( v47[(unsigned __int8)byte_105E0998[v25]] )
*(_DWORD *)&v50[8 * v15] |= *(_DWORD *)v24;
if ( v47[(unsigned __int8)byte_105E09B0[v25]] )
*(_DWORD *)v19 |= *(_DWORD *)v24;
v24 += 4;
++v25;
}
while ( v24 < (signed int)byte_105E0A38 );
++v15;
}
while ( v15 < 16 );
*/
do
{
Data1ptr = (int*)(PACKET+0+j);
Data2ptr = (int*)(PACKET_OUT+0+j);
Crypt(Data1ptr,Data2ptr);
i--;
j+=8;
//i=0;
}
while ( i );
getchar();
return EXIT_SUCCESS;
}
|
|
|
08/14/2010, 17:10
|
#292
|
elite*gold: 0
Join Date: Apr 2007
Posts: 2,394
Received Thanks: 6,644
|
Ich beschäftige mich momentan garnicht damit ^^
Aber ganz ehrlich, ich würds mit den Packets erstmal einfacher Versuchen 
Ich mein wenn man nicht unbedingt einen eigenen Client schreiben möchte,
kann man ja die Spieleigenen Funktionen benutzen um packete zu verschlüsseln / injezieren. Zum entschlüsseln halt einen hook nach der Funktion zum entschlüsseln setzen um dann die Daten auszulesen. Dann muss man halt noch reversen wie der Client genau die Antworten für den X-Trap Server erstellt.
|
|
|
08/14/2010, 18:12
|
#293
|
elite*gold: 13
Join Date: May 2009
Posts: 1,314
Received Thanks: 1,483
|
Das sind die Pakete die der "X-Trap" Server (Ip:211.43.208.219-Port:9110) sendet und Empfängt und vom X-Trap bzw LC-Client die dieser an den Server sendet und Empfängt. [Jedoch kann ich mit dem Buchstaben/Zahlen/SonderZeichen-"Salat" nichts anfangen  ) [Beim Hack finden senden X-trap außerdem auch ein Paket.]
|
|
|
08/15/2010, 18:47
|
#294
|
elite*gold: 0
Join Date: Jan 2010
Posts: 585
Received Thanks: 345
|
Quote:
Originally Posted by schattenbob
news:
leute das xtrap isn icht wirklich nur bei lc.exe aktiv, das ding sitzt im ramspeicher und wühlt dort drin rum und schliesst lc.exe sobald auch nur annähernd irgendwas in den ramspeicher geladen wird. somit müsste man den mist im ram speicher eindämmen, oder lockén, freezen oder sonstwie einfrieren. hoffe das konnte helfen
|
Normal reichtsdoch schon wenn du das teil einfach soo Inaktiv machst .,,
hab was davon gehört das man das wohl auch viel schnelle rhinbekommen würde
Habs ne probiert aber ich gebe es mal preis .... weis nich egnau was der/die jenige damit sagen will aber vlt klappts ja .... also
kollege meinte macht mal rechtslick auf das lc symbol auf dem desktop und
dann auf eigenschaften -> Kompatibilität -> Programm im kompatibilitätsmodus ausführen für : Win xp SP3
damit sollte wohl irgendwas funzen ..... zumindest arbeitet man im mom auch daran das man allgemein nicht emhr fliegt ... weil das prog. xtrap auch immermal sinnlos jemanden raushaut ....
bin immernoch dran hatte die tage nicht viel zeit ....
musst mich um was anderes kümmerne werde mich aber wieder bissel damit ausseeinander setzen
Fg Feige^1
|
|
|
08/15/2010, 19:05
|
#295
|
elite*gold: 0
Join Date: Nov 2009
Posts: 488
Received Thanks: 533
|
Das sich Gamigo damit keine Freunde macht ist klar, das damit noch mehr Leute mit lc aufhören als in der Zeit davor ist auch klar, aber, wurum machen die das wenn die nur auf den Provit aus sind.
Das letzte mal als ich auf LC USA on war, ist schon so 4 Monate her, aber schon zu dieser Zeit haben sehr viel weniger Leute dort gespielt. Man konnte die paar Leute noch auf Server 5 finden, auf den anderen mit Glück 5 Stück zählen...
Ich denke, diese kleinen Sachen wie X-Trap, massen Banns, etc. sind ein Teil von etwas großen. In einigen Ländern wurden die LC Server geschloßen...
Irgendwie kommt es mir vor, als hätte man von ganz oben beschloßen das es keinen sinn mehr mit lc macht und man systematisch alles schließen wird...
Das klingt zwar bischen paronoid, aber das ist das, was ich denke, also in diese Richtung...
|
|
|
08/15/2010, 19:09
|
#296
|
elite*gold: 0
Join Date: Mar 2010
Posts: 35
Received Thanks: 0
|
Quote:
Originally Posted by Isall09
Das sich Gamigo damit keine Freunde macht ist klar, das damit noch mehr Leute mit lc aufhören als in der Zeit davor ist auch klar, aber, wurum machen die das wenn die nur auf den Provit aus sind.
Das letzte mal als ich auf LC USA on war, ist schon so 4 Monate her, aber schon zu dieser Zeit haben sehr viel weniger Leute dort gespielt. Man konnte die paar Leute noch auf Server 5 finden, auf den anderen mit Glück 5 Stück zählen...
Ich denke, diese kleinen Sachen wie X-Trap, massen Banns, etc. sind ein Teil von etwas großen. In einigen Ländern wurden die LC Server geschloßen...
Irgendwie kommt es mir vor, als hätte man von ganz oben beschloßen das es keinen sinn mehr mit lc macht und man systematisch alles schließen wird...
Das klingt zwar bischen paronoid, aber das ist das, was ich denke, also in diese Richtung...
|
paranoid würde ich nicht sagen aber in diesem jahr kommt ja eine neues game von gaymigo raus... "black prophecy" galub ich... vllt wollen die ja nur keinen neuen server kaufen weil sie sich von dem spiel mehr erwarten 
( spässle )
|
|
|
08/15/2010, 19:33
|
#297
|
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
|
im offi forum hat jmd. geschrieben, dass er die packete an den koreaserver blocken konnte und keinen DC bekommen hat, kann dasss hier nochmal jmd testen bitte?
Die logiche folge währe ja dass die wenig damit zu tun haben..
(PS: kann man dass auch über den router machen? ich hab kein wirklichen zugriff auf meinen router da er nciht mir gehört, aber es innterressiert mich)
|
|
|
08/19/2010, 10:52
|
#298
|
elite*gold: 0
Join Date: Jan 2010
Posts: 9
Received Thanks: 3
|
Quote:
Originally Posted by wurstbrot123
Ich beschäftige mich momentan garnicht damit ^^
Aber ganz ehrlich, ich würds mit den Packets erstmal einfacher Versuchen 
Ich mein wenn man nicht unbedingt einen eigenen Client schreiben möchte,
kann man ja die Spieleigenen Funktionen benutzen um packete zu verschlüsseln / injezieren. Zum entschlüsseln halt einen hook nach der Funktion zum entschlüsseln setzen um dann die Daten auszulesen. Dann muss man halt noch reversen wie der Client genau die Antworten für den X-Trap Server erstellt.
|
Es geht wirklich viel einfacher als es ausschaut um den x trap zu umgehn. Die Trainer funktionieren zum Teil, zumindestens speedhack geht, nur er erkennt den char net. Hmm da liegt mein Pbm da ich mich zwar neuerdings damit beschäftige aber noch net so recht weiss wie das alles so geht, aber sicher ist das mit CE auf alle fälle es funzt und kein dc dabei bis jetzt bekommen. Auch der alte Multiclient von Wurstbrot geht als ob nix wär.
Ihr müsst nur ne kopie erstellen vom gamigo, dann in der kopie y trap ordner löschen alles patchen wie bisher es immer so war und die Nksp aus dem Thread hier im vorfeld ersetzen ud LC normal starten, dann die kopie lc exe als admin starten so habt ihr erstmal n doppelfenster, dann das erste schliessen und damit is der x trap weg aus euer leiste. steht zwar immer noch im bin Ordner drin damit es funktioniert. dann startet ihr aus dem orginalen oder der Kopie LC ganz normal über wURSTBROT mULTICLIENT WIEDR LC, und damit hab t ihr dan den x trap umgangen da dieser nicht mehr bei euch in der taskleiste erscheint und auch somit nicht aktiv ist. Hab es selber gestern dden ganzen Tag getestet und ging ohne dc, auch wurde das durch n Kollege bestätigt der es parallel selbst getestet hat
so nun wünsch ich euch viel glück beim probieren und viel Spass beim gamen danach
MfG
|
|
|
08/19/2010, 10:58
|
#299
|
elite*gold: 0
Join Date: Jan 2010
Posts: 9
Received Thanks: 3
|
das einzige wo ich ne kleine unterstützung bräucht is das mit dem trainer gängig zu machen , da ich von KD die CE Einstellung ales zwar habe mir aber doch noch unsicher bin wo ich es in der basedatei es reingebe.
Würde mich freun wenn da mir eine rmal bissl helfen könnt, Danköööö im vorraus
|
|
|
08/19/2010, 11:31
|
#300
|
elite*gold: 0
Join Date: Oct 2008
Posts: 151
Received Thanks: 112
|
nimm doch einfach den . net trainer von dsgd..oder wie der nochmal genau heist....sry kann mir das buchstaben gewirr nie merken....
der hat nen Realease 16.08.10 bugfix. der geht soweit ich ihn getestet habe... hatte immer nur die probs das ich dc´s bekamm aber gelaufen ist er vor 1-2 tagen noch
|
|
|
 |
|
Similar Threads
|
X-Trap = no s4
03/21/2011 - S4 League - 17 Replies
Hallo, ich hacke mal hier und da mit CE, nun ist es aber so, X-Trap lässt mich NICHT S4 spielen. Ich denke mal ich bin der einzige mit dem prob. sonst hätte ich hier mehrere threads davon gesehen. Hab comp restartet, NICHT CE oder was anderes an gemacht, immer noch das prob., ich lade mir s4 neu runter, immer noch.
-Habt ihr das auch?
-Was kann ich dagegen tun? Möglich ohne CE etc. zu löschen
-Kann es daran legen das ich eine .dll injected hab ? ;> Wenn ja, wie krieg ich sie raus
Danke...
|
help about X-trap
09/05/2010 - S4 League - 1 Replies
j'aime les cheaters
|
(Question) x-trap bypass question x-trap merderer
03/13/2008 - Cabal Online - 0 Replies
I use thai cabalmain xtrap merdrere login the game 5 sec it is discon how to modify xtrap merderer or who have a bypass to use bot autoit it can't be detected thx a lot Bro.
|
Help With X-Trap
12/07/2007 - Cabal Online - 3 Replies
hi, i want a x-trap bypass for cabal BR. if exist please tell me.
|
X trap???
04/01/2007 - GunZ - 0 Replies
pls dun flam but how to by pass x trap
|
All times are GMT +1. The time now is 04:30.
|
|