Показать сообщение отдельно
Старый 03.12.2012, 12:46   #4
Пользователь
 
Регистрация: 27.10.2009
Сообщений: 63
Сказал Спасибо: 6
Имеет 21 спасибок в 19 сообщенях
Demion пока неопределено
По умолчанию

Найдите в VMT адрес AddNetworkQueue. Адрес на SendPacket обычно находится на смещении (-0xA4). В большинстве хроник смещение сохраняется, хотя это не обязательно. В любом случае SendPacket можно найти по вызову ws2_32.send();

Код:
HMODULE hEngine = LoadLibraryA("engine.dll");

unsigned int VMT = (unsigned int) hEngine + 0x507B70;
unsigned int AddNetworkQueue = (unsigned int) GetProcAddress(hEngine, "?AddNetworkQueue@UNetworkHandler@@UAEHPAUNetworkPacket@@@Z");

while (*(unsigned int*) VMT != AddNetworkQueue)
  VMT++;

unsigned int SendPacket = *(unsigned int*) (VMT - 0xA4);

Последний раз редактировалось Demion, 03.12.2012 в 12:54.
Demion вне форума   Ответить с цитированием
За это сообщение Demion нажился спасибкой от: