Вернуться   CoderX :: Forums > Основные форумы > Полезности
Войти через OpenID

Полезности Исключительно для полезных тем из других разделов.
Темы тут не создаются!
Темы сюда перемещаются из других разделов, и на их старых местах остаются постоянные перенаправления.

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 29.07.2010, 23:44   #1
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

htozdes, какие функции у тебя перехвачены? Нам то нужны самые заветные, AddNetworkQue и т.д. недумаю что фрост проверяет хут какой нибудь там прорисовки чего то.

Да и вообще нафиг хватать более 100 функций если все основное управление клиентом можно производить пакетами?

И еще, когда юзал сплайсинг - длл у меня была сделана на делфи.

Когда перешел на VisualStudio и заюзал другой метод, баны сразу прекратились. Возможно библиотека AdvApiHook мистера покойного Rema слишком общеизвестная и фрост выкупал просто по наличию определенной последовательности машинного кода загруженного в память процесса Л2.
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
Yegor вне форума   Ответить с цитированием
Старый 30.07.2010, 00:51   #2
Новичок
 
Регистрация: 11.05.2010
Сообщений: 19
Сказал Спасибо: 0
Имеет 10 спасибок в 6 сообщенях
Эдвадко пока неопределено
По умолчанию

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");

И последнее. Может откроете тайну рисования непосредственно в окне клиента. А то в отдельном окошечке приходится карту рисовать.

Когда ставишь хук на UObject_ProcessEvent выдается вот что :
....
[3396] Process_Tick ecx=A93E880 ret=20045B4A
[3396] Process_Tick ecx=A93E880 ret=20045B4A
[3396] Reset ecx=A372940 ret=200626DC
[3396] Process_PreRender ecx=A93E880 ret=20045C89
[3396] Process_PreRender ecx=A93E880 ret=20045C89
[3396] Process_PostRender ecx=A93E880 ret=20045BE9
[3396] Process_PostRender ecx=A93E880 ret=20045BE9
[3396] OnTimer ecx=F91E380 ret=A99503E
...

Пре и пострендер вызываются два раза. В котором из них рисовать ?
Эдвадко вне форума   Ответить с цитированием
Старый 30.07.2010, 02:18   #3
Рыцарь
 
Аватар для Morfik
 
Регистрация: 13.10.2009
Сообщений: 665
Сказал Спасибо: 38
Имеет 172 спасибок в 108 сообщенях
Morfik пока неопределено
По умолчанию

Цитата:
Сообщение от Yegor Посмотреть сообщение
htozdes, какие функции у тебя перехвачены? Нам то нужны самые заветные, AddNetworkQue и т.д. недумаю что фрост проверяет хут какой нибудь там прорисовки чего то.

Да и вообще нафиг хватать более 100 функций если все основное управление клиентом можно производить пакетами?

И еще, когда юзал сплайсинг - длл у меня была сделана на делфи.

Когда перешел на VisualStudio и заюзал другой метод, баны сразу прекратились. Возможно библиотека AdvApiHook мистера покойного Rema слишком общеизвестная и фрост выкупал просто по наличию определенной последовательности машинного кода загруженного в память процесса Л2.
блин а какая разница делфи/си? ) сплайсинг он и в африке сплайсинг - Е9 и 4 байта адреса куда прыгать в начале функции - явный признак поставленого на нее хука

пока нашел другой метод хука,работает, осталось потестить на предмет банов)

Добавлено через 6 минут
Цитата:
Сообщение от Эдвадко Посмотреть сообщение

И последнее. Может откроете тайну рисования непосредственно в окне клиента. А то в отдельном окошечке приходится карту рисовать.

Когда ставишь хук на UObject_ProcessEvent выдается вот что :
....
[3396] Process_Tick ecx=A93E880 ret=20045B4A
[3396] Process_Tick ecx=A93E880 ret=20045B4A
[3396] Reset ecx=A372940 ret=200626DC
[3396] Process_PreRender ecx=A93E880 ret=20045C89
[3396] Process_PreRender ecx=A93E880 ret=20045C89
[3396] Process_PostRender ecx=A93E880 ret=20045BE9
[3396] Process_PostRender ecx=A93E880 ret=20045BE9
[3396] OnTimer ecx=F91E380 ret=A99503E
...

Пре и пострендер вызываются два раза. В котором из них рисовать ?
http://coderx.ru/showthread.php?t=948&page=2

Последний раз редактировалось Morfik, 30.07.2010 в 02:18. Причина: Добавлено сообщение
Morfik вне форума   Ответить с цитированием
Старый 30.07.2010, 02:25   #4
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Morfik, сплайсинг по моему не обязательно через джамп делается, можно и через кал (но тогда потребуется дополнительный код в начале нашей функции) и через пуч + рет (но этот вариант занимает 6 байт а не 5 в начале перехватываемой функции)
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 30.07.2010, 02:58   #5
Рыцарь
 
Аватар для Morfik
 
Регистрация: 13.10.2009
Сообщений: 665
Сказал Спасибо: 38
Имеет 172 спасибок в 108 сообщенях
Morfik пока неопределено
По умолчанию

Цитата:
Сообщение от xkor Посмотреть сообщение
Morfik, сплайсинг по моему не обязательно через джамп делается, можно и через кал (но тогда потребуется дополнительный код в начале нашей функции) и через пуч + рет (но этот вариант занимает 6 байт а не 5 в начале перехватываемой функции)
В любом случае норм функции с E9 (джамп) и 15FF(колл) не начинаються вообщем спалить сам факт хука несложно.
Morfik вне форума   Ответить с цитированием
Старый 30.07.2010, 04:24   #6
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Morfik, с джампа возможно, а вот калом и уж тем более пучем спокойно, хотя да, спалить не сложно если знать где искать, а вот если не знать хер спалишь
я например одну функцию хукаю не в начале а посередине ибо там данные в более удобной форме, и вот посмотрел бы я как фрост это палить будет не зная конекретно где я хук поставил
__________________
Я здесь практически не появляюсь!, Skype - ikskor

Последний раз редактировалось xkor, 30.07.2010 в 04:27.
xkor вне форума   Ответить с цитированием
Старый 30.07.2010, 10:48   #7
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

xkor, при желании думаю не сложно спалить. Почему бы фросту не проверять все тело критических функций на предмет совпадения с оригиналом, ну так чек сумму какую нибудь сверял бы куска кода.

Добавлено через 6 минут
Morfik, ты не хотел бы еще немного поработать над стабильностью работы своей программы, а то я и много знакомых ее недавно купили в панике обновления 20.07 но теперь ей не пользуемся. С ней ну слишком часто клиент л2 падает с критом (субьективно с аси критует гораздо реже). Видимо в длл ты что то не предусмотрел.
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)

Последний раз редактировалось Yegor, 30.07.2010 в 10:48. Причина: Добавлено сообщение
Yegor вне форума   Ответить с цитированием
Старый 30.07.2010, 13:38   #8
Рыцарь
 
Аватар для Morfik
 
Регистрация: 13.10.2009
Сообщений: 665
Сказал Спасибо: 38
Имеет 172 спасибок в 108 сообщенях
Morfik пока неопределено
По умолчанию

Цитата:
Сообщение от Yegor Посмотреть сообщение
Добавлено через 6 минут
Morfik, ты не хотел бы еще немного поработать над стабильностью работы своей программы, а то я и много знакомых ее недавно купили в панике обновления 20.07 но теперь ей не пользуемся. С ней ну слишком часто клиент л2 падает с критом (субьективно с аси критует гораздо реже). Видимо в длл ты что то не предусмотрел.
Пока не напишут больше конкретики с какими опциями и с каким текстом крита летают - помоч наврятли смогу.

И вообще это не место для ее обсуждения так что сори за оффтоп

Последний раз редактировалось Morfik, 30.07.2010 в 13:40.
Morfik вне форума   Ответить с цитированием
Старый 31.07.2010, 23:43   #9
Новичок
 
Регистрация: 13.04.2010
Сообщений: 3
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Zul пока неопределено
По умолчанию

Цитата:
Сообщение от xkor Посмотреть сообщение
Morfik, с джампа возможно, а вот калом и уж тем более пучем спокойно, хотя да, спалить не сложно если знать где искать, а вот если не знать хер спалишь
я например одну функцию хукаю не в начале а посередине ибо там данные в более удобной форме, и вот посмотрел бы я как фрост это палить будет не зная конекретно где я хук поставил
А ты когда хук делаешь VirtualProtect и т.п. зовешь?
Если да, то могут легко спалить захучив его. Более того тестить то они могут на любой ОС, в часности на x32, где хук можно и в драйвер засунуть.

Цитата:
xkor, при желании думаю не сложно спалить. Почему бы фросту не проверять все тело критических функций на предмет совпадения с оригиналом, ну так чек сумму какую нибудь сверял бы куска кода.
Не знаю как в самом фросте, но вот код линеечных функций немного динамический. Т.е. там суются nop'ы в случайные места, каждый раз в разные.
Zul вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Полезности



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 23:44.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!