1
Прочее / Re: В каких играх вам помогает Clickermann?
« on: May 02, 2019, 03:37:55 AM »Структуры бывают разные. Для линейки это:
Указатель на начало таблицы объектов(ТО) +4 байта счетчик объектов в приделах видимости клиентом(СЧ) <- для нахождения в тихом месте ищешь неизвестное значение, загружаешь второго перса - СЧ увеличился, отсеиваешь и тд.
Когда нашел адрес СЧ, в CE переходишь к поиску указателя на адрес (их будет много). После перезагрузки клиента ищешь адрес снова, потом в поиске указателя загружаешь предыдущие результаты и отсеиваешь новый адрес. И так несколько раз. В итоге останутся только устойчивые цепочки БА+смещения ведущие к СЧ.
В Reclass начинаешь заполнение структуры от БА+первое смещение (обычно считают от engine.dll, кое что удобней искать от NWindow.dll). На указатель на начало ТО ставишь pointer. Переходишь туда. А там сразу видно что записи повторяются с шагом в 3 строчки по 4 байта каждая.
1 неизвестно
2 ID объекта
3 указатель на начало структуры объекта.
Индексация объектов идет от 0 до СЧ-1(здесь указатель на структуру перса). Если количество объектов уменьшилось все записи после удаленного объекта сдвигаются на -1 индекс, а в конце таблицы остается мусор в виде повторов последней записи. По умолчанию в начало ТО пишутся объекты надетые на перса.
В ТО объекты разнотипные и струкура у них разная. Вещи перса и дроп не разбирал. Перс, игроки, мобы, npc - одинаковая структура, но полная инфа заполняется только по персу(его и опишу), кое что заполняется по таргету.
Первый переход - непонятно что, но есть какие то указатели. Ставим pointer везде где похоже на указатель, смотрим куда ведет.
Первый же указатель идет в структуру USER(тип, ID, Имя, HP, MP, CP, указатель на AActor)
В структуре AActor указателя обратно в USER нет, есть ID, XYZ координаты камеры от 3-го лица, текущие координаты в клиенте, координаты где стоит или куда бежит (мышкой ткнул) - передаются с сервера, указатель на структуру AActor серверный.
В нем записываются координаты пришедшие с сервера(локальных нет) и если выбрана цель указатель на AActor цели. Выбрал себя свой AActor, выбрал моба - AActor моба из ТО.
Это путь от общего к частному.
Ты ищешь от частного к общему. Он нужен что бы знать в какую область адресов в Reclass визуально искать указатель или цепочку указателей.
А еще в CE формулы смещений можно вытащить из дизассемблера и данных регистров. Но цепочка смещений может уйти в динамический массив. Поэтому нужен Reclass.
В видео разбирается самый простой случай. Без динамических массивов и от БА не больше 5 смещений. При 6 смещениях автоматический поиск может занять пол часа (результат миллионы комбинаций). При полностью ручном устанешь искать концы к БА.
На ручнике удобно отсеять последнее смещение (получить начало структуры+смещение=HP). И на автомате искать не HP, а начало структуры.
Ох, вот это мощный ответ! Спасибо большое, за столь подробное описание, очень круто, завтра буду вчитываться и пытаться разобраться, а то сегодня первый день как более - менее серьезно за СЕ сел
Не знаешь, можно ли как то отдавать в клиент команды через память, например? К примеру, мы видим моба, хотим взять его в таргет, отправляем что - нибудь куда - то вместо нажатия кнопки и таргет выбирается, или например прожатие атаки в свернутое окно или скилла
Или это все пакетный уровень? Там тоже уже вроде другая степь, плюс разносортные защиты, которые еще и расшифровать надо
Еще раз спасибо, ответом очень доволен!
Для запуск второго окна нужно оплатить премиум подписку. Не подскажите как обойти защиту загрузить второго перса бесплатно?