hola como están? e estado experimentando con reversar un juego online el cual el cliente obtiene packetes en texto crudo es decir en este formato

Cliente > servidor : "PACKETE/DATOS DEL PACKETE"
y se la misma manera Servidor-cliente

He intentado obtener un offset estático de la variable data buffers de  send y recv pero no lo he conseguido.
llegue hasta aquí con ollydgb alguna idea ? me quede estancado.
Imagen
Imagen
ESTE ES EL CODIGO EN C++ PARA HOOKEAR LAS FUNCIONES

typedef VOID(WINAPI *PRecvData)(BSTR data);    //Pointer Definition - Takes BSTR and returns VOID
PRecvData PFunctionRecv = (PRecvData)0x; //Pointer to where the original HandleData() starts

typedef VOID(WINAPI *PSendData)(BSTR *data);   //Pointer Definition - Takes BSTR* and returns VOID
PSendData PFunctionSend = (PSendData)0x; //Pointer to where the original SendData() starts

typedef int(WINAPI *PLoop)();
HMODULE dllModule = LoadLibraryA("MSVBVM60.DLL");
PLoop PFunctionLoop = (PLoop)GetProcAddress(dllModule, "rtcDoEvents");

void Hooks()
{
    DetourTransactionBegin();
    DetourUpdateThread(GetCurrentThread());
    DetourAttach(&(PVOID &)PFunctionRecv, &MyRecvData); // Hook DataHandler() to MyRecvData()
    DetourAttach(&(PVOID &)PFunctionSend, &MySendData); // Hook SendData() to MySendData()
    DetourAttach(&(PVOID &)PFunctionLoop, &MyLoop);     // Hook DoEvents AKA Loop() to MyLoop()
    DetourTransactionCommit();
}




 
Responder

Volver a “Cracking/Reversing”