ПолезностиИсключительно для полезных тем из других разделов. Темы тут не создаются!
Темы сюда перемещаются из других разделов, и на их старых местах остаются постоянные перенаправления.
Проблемма в том что перехват ты скорее всего будешь делать через сплайсинг используя библиотечку advapihook, так вот фрост за это с вероятнотью 101% выдает бан.
Yegor, хм, а чтож фрост тогда мне ни одного ака не забанил и моим знакомым и клиентам которые юзают мой обход фроста для пакетхака? у меня там как раз именно через тот модуль всё хукается)
CodeMonkey, классы боюсь тут не поюзать, ну по крайней мере напрямую, в "хук-функция" (хз как её более нормально обозвать, ну которая будет вызываться вместо оригинальной) передаётся только то что было передано в оригинальную функцию, следовательно никакой информации о том к какому экземпляру класса принадлежит функция если она метод нету и ничего работать не будет...
единственное возможно если использовать классовые методы (то есть перед procedure/function/полями дописать class) то может и прокатит (я не зная как компилятор такие методы обрабатывает, но по логике они будут обычными функциями), но смысла при этом в классах по моему нет ибо экземпляры класса отменяются...
ЗЫ но можно сделать "хук-функции" которые будут вызывать нужные методы нужного класса, правда учитывая что объект UNetworkHandler в клиенте только один всётаки не вижу в этом смысла
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor, из AdvApiHook использую только внедрение dll, правда в функцию добавил точку входа для возможности выгрузки dll из моей программы (нужно для отладки dll, чтобы постоянно не перегружать клиент).
Поначалу использовал HookProc и получил несколько банов через 30 минут юза длл не отправляя даже ни одного пакета.
пакеты не отправляю, только снифлю их и рисую по канве клиента. длл инжектится до гг и фроста. тестил недели 3 назад (один раз забыл про клиент и чар сидел часов 6 в игре) - банов не было. недавно искал как юзать блокируемые гг функции (в частности SendMessage), вроде бы нашел, по крайней мере, фукнция при гг работает, но вот тогда посыпались автобаны, причем как то странно: то через 20 минут весь акк уходит, иногда только чар, то бана вообще нет
Yegor, хм, а чтож фрост тогда мне ни одного ака не забанил и моим знакомым и клиентам которые юзают мой обход фроста для пакетхака? у меня там как раз именно через тот модуль всё хукается)
3 дня писал и отлаживал утилитку, в основе которой был перехват трафика именно хуком (сплайсинг, но не из той библиотеки, хотя смысл с 5 байтами то тот же), дак вот на 3-й день и вылетел бан
Цитата:
Фогейму жаль, но 27.07.2010 в 17:09 Lineage 2 для аккаунта **@** [6584152] заблокирован.
Причина блокировки аккаунта: Использование стороннего ПО.
Блокировка завершится 03.08.2010 в 17:09.
через час посадил 2-го твинка на тойже утилитке с тем же хуком - благополучно просидел 2 часа....
Хз даже дописывать ли утилиту или искать другой вариант хука.
upd:
Хотя не, вру и 2-й заблочили
Цитата:
Фогейму жаль, но 27.07.2010 в 20:45 Lineage 2 для аккаунта *** [6584478] заблокирован.
Причина блокировки аккаунта: Использование стороннего ПО.
Блокировка завершится 03.08.2010 в 20:45.
Последний раз редактировалось Morfik, 29.07.2010 в 02:19.
htozdes, какие функции у тебя перехвачены? Нам то нужны самые заветные, AddNetworkQue и т.д. недумаю что фрост проверяет хут какой нибудь там прорисовки чего то.
Да и вообще нафиг хватать более 100 функций если все основное управление клиентом можно производить пакетами?
И еще, когда юзал сплайсинг - длл у меня была сделана на делфи.
Когда перешел на VisualStudio и заюзал другой метод, баны сразу прекратились. Возможно библиотека AdvApiHook мистера покойного Rema слишком общеизвестная и фрост выкупал просто по наличию определенной последовательности машинного кода загруженного в память процесса Л2.
AddNetworkQueue иногда не срабатывает.
Был у нас местный сервак, где защита была сделана через
правку на лету той-же engine.dll. Уже не помню точно,
но патчилась таблица вызовов обработки пакетов и еще чего-то.
Пришлось перехватывать неэкспортируемую функцию, которые
вызывают все функции разбора пакетов.
Функция обработки хука выглядела страшно -
void UserHookerParseServerPacket(DWORD SavedEAX, PDWORD StackPtr)
{
DWORD SavedRet=0;
DWORD SavedArg0=0;
DWORD SavedArg4=0;
static char str[200];
char *name;
if (StackPtr) SavedRet=*(StackPtr)-(DWORD)hEngineDll+0x2550000;
if (StackPtr+1) SavedArg0=*(StackPtr+1); //Parent_Class_Addr
if (StackPtr+2) SavedArg4=*(StackPtr+2); //parse mask
if (SavedRet == 0x28C591F) name="MacroList";
else if ((SavedRet >= 0x28C5932) && (SavedRet <= 0x28C5A41)) name=0;
else if (SavedRet == 0x28C9AAA) name="SkillList";
else if (SavedRet == 0x28C9B3A) name=0;
else if (SavedRet == 0x28CA290) name="SayPacket2";
else if (SavedRet == 0x28CA31F) name=0;
else if (SavedRet == 0x28CB0B0) name="ShortCutInit";
else if ((SavedRet >= 0x28CB0F4) && (SavedRet <= 0x028CB28B)) name=0;
Но это было давно...
А сейчас вот на офе, при переходе на Фрею изменился формат
пакета CharInfo. Не кардинально, но изменился - Скорость бега стал браться неправильно. Я по дампу пакета нашел и подправил код.
Но может где есть уже описание пакетов Фреи ?
Дальше... Название предметов я надеюсь в будущем брать из клиента
а не из настроечных файлов, а то некоторых нет.
Надеюсь на функцию -
(FARPROC&) UObject__GetName = GetProcAddress(hCore, "?GetName@UObject@@QBEPBGXZ");
И последнее. Может откроете тайну рисования непосредственно в окне клиента. А то в отдельном окошечке приходится карту рисовать.