DispatchNetworkQueue просматривает список доступных пакетов, дальше по Id пакета из специального массива со ссылками на обработчики (UGameEngine::OnXXX) вызывает нужный метод. У меня такое ощущение, что обработкой 0х85 пакета занимается не экспортируемый обработчик.
Перед Onxxx пакет должен быть дизасемблированн, ведь в Onxxx параметры передаются уже в виде сформированного ParamStack и т.п.
По идее, там ведь где то должен быть какой нибудь switch-case, в котором по id вызывается соответствующая функция-дизасемблер? Как бы найти, где происходит обработка id?
Других вариантов попасть в нее не вижу, тк таблицу методов обработчиков UGameEngine и методов предварительно разбирающих пакет я и подавно без понятия где брать.
Запустил таки клиент под ольгой на w7, пока немного осваиваюсь, позже попробую повешать брейкпоинтов.
сборка odbg110 9in1 for Themida + phantom (http://prntscr.com/c9992s).
я не аттачусь, а запускаю л2 из ольги(додумался так сделать только когда дошёл до этой сборки, поэтому она может быть и не принципиальна и сойдет обычная).
сборка odbg110 9in1 for Themida + phantom (http://prntscr.com/c9992s).
я не аттачусь, а запускаю л2 из ольги(додумался так сделать только когда дошёл до этой сборки, поэтому она может быть и не принципиальна и сойдет обычная).
Не могу найти где скачать этот пак.
Скачал сборник odbg разных версий с разными утилитами но там черт ногу сломит.
UNetworkHandler::Tick в цикле вызывает DispatchNetworkQueue, полученный пакет с помощью FL2ReplayManager::AddPacketData преобразовывается в L2ParamStack, потом идет вызов OnXxx.
PS. Это справедливо для стандартного клиента, если имеется защита, то может быть дополнительный функционал по шифрованию/подмене данных, вплоть до того, что AddNetworkQueue и DispatchNetworkQueue вообще не используются.
Пошерстил функции обработки PartySpelled и MagicEffectIcons - внутри них не вызывается метод UGameEngine::On..., только из NWindow и пара общих для всех обработчиков из Engine.
И теперь хз, что делать - то ли методы всё таки не те, то ли еще чего.
Походу вся эта затея с отказом от хуков провальная, потому что вариантов кроме как хукать их и извлекать инфу оттуда я не вижу.
Последний раз редактировалось Smwr, 24.08.2016 в 17:36.