Показать сообщение отдельно
Старый 21.12.2012, 13:37   #15
Новичок
 
Регистрация: 21.12.2012
Сообщений: 3
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
[ Mifesto ] пока неопределено
По умолчанию

не хочется плодить темы, спрошу тут.

вот получается есть функция поиска адреса SendPacket:
Код:
unsigned int GetSendPacketAddress(void)
{
	HMODULE hEngine = LoadLibraryA("engine.dll");

	unsigned int startVMT = (unsigned int) hEngine + 0x51F658;
	unsigned int AddNetworkQueue = (unsigned int) GetProcAddress(hEngine, "?AddNetworkQueue@UNetworkHandler@@UAEHPAUNetworkPacket@@@Z");
	unsigned int currVMT = startVMT;

	if (AddNetworkQueue == 0)
		return 0;

	while (true)
	{
		if (*(unsigned int*) currVMT == AddNetworkQueue)
			return *(unsigned int*) (currVMT - 0xA4);

		currVMT++;
		if (currVMT - startVMT > 10000)
			return 0;
	}

	return 0;
}
но выше 268 протокола она не работает, попытался сделать так:
Код:
unsigned int GetSendPacketAddress(void)
{
	HMODULE hEngine = LoadLibraryA("engine.dll");
	unsigned int UNHandlerTable = (unsigned int)GetProcAddress(hEngine, "??_7UNetworkHandler@@6BUObject@@@");
	return (UNHandlerTable + 0x48) + 0x6C;
}
с этим кодом хук становится, но как только открывается окно то оно сразу крашится:
Код:
2013.1.7 22:52:30
OS : Windows XP 5.1 (Build: 2600)
CPU : GenuineIntel  Intel(R) Celeron(R) CPU        E3300  @ 2.50GHz @ 2506 MHz 2047MB RAM
Video : Radeon  X1300XT/X1600Pro/X1650 Series (6925)
PosCode : LS1(273) 0:0:0 2/0 [288]

General protection fault!

History: ViewportLock1 <- Precaching <- UGameEngine::Draw <- UWindowsViewport::Repaint <- UWindowsClient::Tick <- ClientTick <- UGameEngine::Tick <- UpdateWorld <- MainLoop
ткнет пальцем кто на ошибку?
[ Mifesto ] вне форума   Ответить с цитированием