Hey ich hab das mal mit inline versucht ;D bitte nicht lachen
was haltet ihr davon ?
packetLength stimmt aber das game schliesst direkt danach ka wieso :D
aller anfang ist schwer
ich habs nochmal überarbeitet ^^
es zeig die länge an und die erst XOR encryption aber dan crashed es QQ
Code:
DetourFunction((PBYTE)Crypt,(PBYTE)MyCrypt);
Code:
void MyCrypt()
{
DWORD PacketLength = 0;
BYTE XorCrypt = 0;
__asm
{
MOV PacketLength,ESI
MOV ECX,EAX
AND ECX,0x3
MOV DL,BYTE PTR DS:[EBX+ECX+0x1054]
MOV XorCrypt,DL
ADD EAX,0x1
CMP EAX,ESI
JL 0x00608220
}
char buffer[100];
sprintf(buffer,"%d %d",XorCrypt,PacketLength);
MessageBox(0,buffer,0,0);
}
was haltet ihr davon ?
packetLength stimmt aber das game schliesst direkt danach ka wieso :D
aller anfang ist schwer
ich habs nochmal überarbeitet ^^
es zeig die länge an und die erst XOR encryption aber dan crashed es QQ
Code:
bool MyCrypt()
{
DWORD PacketLength = 0;
BYTE XorCrypt = 0;
DWORD Count = 0;
do
{
__asm
{
MOV PacketLength,ESI
MOV Count,EAX
MOV ECX,EAX
AND ECX,0x3
MOV DL,BYTE PTR DS:[EBX+ECX+0x1054]
MOV XorCrypt,DL
ADD EAX,0x1
CMP EAX,ESI
}
}while(PacketLength < Count);
char buffer[100];
sprintf(buffer,"%d %d",XorCrypt,PacketLength);
MessageBox(0,buffer,0,0);
return 1;
}