Радар/бот для Lineage 2 GoD (BSFG E5) [Без пакетов/API движка/Память]
Инфа для создания радара и прочей дури под Lineage 2 GoD, а точнее BSFG от абуса. Аналогично можно пилить для любых хроник.
Самой проги тут не будет, только инфа "где что брать".
Мысль при создании такого радара была простая: если игра знает где брать координаты и прочую инфу о игроках (для отрисовки) - я тоже могу узнать. Что , вроде, логично. Частенько существует в игрушка таблица, в которой уже ссылки на игроков, или для чего таблица была создана (ну, нам то игроки нужны). Lineage 2 - не исключение:
все люди и Неписи находятся в таблице, более того, там даже есть координаты летящих стрел (интересно нафига?).
далее, перейдя по указателю, и еще один разок по смещению 0х4, мы влетаем в саму структуру с данными о игроке\мобе
[Ссылки могут видеть только зарегистрированные пользователи. ]
итогово, что бы попасть сюда нужно перейти по след адресу:
Код:
[[[Таблица ] + 0x08(или любой другой)] + 0x04]
Тут мы имеем:
Код:
0x14 - id из файла npcgrp (если у нас моб, ежели живое тело - будет "0")
0x18 - уникальный id игрока\моба, не повторяются, меняется при перезапуске
0x1C - никнейм \ имя моба
0xB0 \ 0xB4 - ХП (текущий \ макс)
0x438 \ 0x43C - ЦП (текущий \ макс)
0x254 - цвет ника (вроде - 0xAA RR GG BB)
0x374 - указатель на структуру с доп инфой
[0x374] + 0x340] - координата X (float)
[0x374] + 0x344] - координата Y (float)
[0x374] + 0x348] - координата Z (float)
[0x374] + 0x7A8] - id скина
(0,1,8,9 - хум |2,3 - ДЕ |4,5 - гном|6,7 - СЕ|10,11,12,13 - орк|14,15 - кур)
На скрине можно еще найти смещения для параметров брони\атаки и прочей лабуды, но они не всегда заполняются игрой, часто там по нулям все, так же как и с МП.
В итоге можно сделать что то такое:
[Ссылки могут видеть только зарегистрированные пользователи. ]
PS ежели вы писатель, а не качатель (читов и прочего) - сделать аналог для любых хроник просто. Разбирать что и где в структуре стоит просто (благо софт есть). Реверсить адрес такой таблицы - совсем изи, обычным Cheat Engine находим свои координаты, смотрим что туда пишет - найдет там функцию которая разбирает передвижения всего что двигается, ну и бряками найти заветный указатель - не сложно...
Написание "анатомии-цели" из бсфг
[Ссылки могут видеть только зарегистрированные пользователи. ]
Прототип радара (классы во вложении)
[Ссылки могут видеть только зарегистрированные пользователи. ]
Вызов игрового API
[Ссылки могут видеть только зарегистрированные пользователи. ]
Удаленное управление персонажем
[Ссылки могут видеть только зарегистрированные пользователи. ]
сорцы:
[Ссылки могут видеть только зарегистрированные пользователи. ]
Последний раз редактировалось separater; 03.11.2016 в 20:19.
Re: Радар для Lineage 2 GoD (BSFG E5) [Без пакетов]
Engine.dll там есть инфа о персонаже? а то я искал только в l2.exe нашел и core.dll и работает не стабильно слетает инфа (я про hp mp cp и нике персонаже и т.п)
________________
Группа вк: [Ссылки могут видеть только зарегистрированные пользователи. ]
Re: Радар для Lineage 2 GoD (BSFG E5) [Без пакетов]
В Engine.dll есть табло с указателями на инфу. Причем после любого изменения состояния перса (сменил шмотку, например) вся таблица обновляется, что в принципе не особо проблемно, адрес самой таблицы статичен.
Для того что бы смотреть ХП (с остальным не прокатит) - включаем чит энжн, выделяем сеья в таргет, ищем ХП, меняем таргет - смотрим что поменялось в результатах -> 2 адреса с ХП таргета (текущий \ макс). Работает в БСФГ \ ГоД серверах.
Если нужно, была у меня еще таблица с дропом. Хотя я хз зачем оно в л2 обычной, в бсфг можно было делать патч на дроп нормальный (отрисовывать название дропа), что то вроде такого [Ссылки могут видеть только зарегистрированные пользователи. ] , только удобнее.
Re: Радар для Lineage 2 GoD (BSFG E5) [Без пакетов]
Цитата:
Сообщение от separater
Если нужно, была у меня еще таблица с дропом. Хотя я хз зачем оно в л2 обычной, в бсфг можно было делать патч на дроп нормальный (отрисовывать название дропа), что то вроде такого [Ссылки могут видеть только зарегистрированные пользователи. ] , только удобнее.
Отрисовка через 3d идет? я что смог по исходникам только текст вывести))
На картинках что за редактор?
________________
Группа вк: [Ссылки могут видеть только зарегистрированные пользователи. ]
Последний раз редактировалось RenatPro; 11.10.2014 в 20:18.
Re: Радар для Lineage 2 GoD (BSFG E5) [Без пакетов]
Цитата:
Сообщение от separater
В Engine.dll
Для того что бы смотреть ХП (с остальным не прокатит) - включаем чит энжн, выделяем сеья в таргет, ищем ХП, меняем таргет - смотрим что поменялось в результатах -> 2 адреса с ХП таргета (текущий \ макс). Работает в БСФГ \ ГоД серверах.
Тут решил написать типа АСП и наткнулся на проблему(
Вообщем нашел смещение которое не изменяется* при перезагрузки при смене локаций после переустановки винды адрес остается статистический!
Думаю ну вот все нашел то что надо, но не тут то было(
Решил проверить на другом компе скачал клиент, патч того же сервера захожу в игру а там выдает не то значение.
Базовый адрес Engine.dll выдергиваю динамически то есть при загрузки моей программы а вот по смещению не попадаю на том что писал компе программу стоит w7 x32 а проверял на w7 x64 возможно в этом проблема. Есть идеи?
________________
Группа вк: [Ссылки могут видеть только зарегистрированные пользователи. ]
Последний раз редактировалось RenatPro; 29.10.2014 в 10:56.
Причина: Правил касяк в тексте
Re: Радар для Lineage 2 GoD (BSFG E5) [Без пакетов]
Цитата:
Сообщение от RenatPro
Тут решил написать типа АСП и наткнулся на проблему(
Вообщем нашел смещение которое не изменяется* при перезагрузки при смене локаций после переустановки винды адрес остается статистический!
Думаю ну вот все нашел то что надо, но не тут то было(
Решил проверить на другом компе скачал клиент, патч того же сервера захожу в игру а там выдает не то значение.
Базовый адрес Engine.dll выдергиваю динамически то есть при загрузки моей программы а вот по смещению не попадаю на том что писал компе программу стоит w7 x32 а проверял на w7 x64 возможно в этом проблема. Есть идеи?
x64 \ x32 - пофиг. игра сама по себе работает как в *32.
Если на другом компе не тот адрес - проблема в указателе.
Если искал через CheatEngine -> Pointer Scan -> забей. Это фигня. Искать нужно через отладчик.
Мне тут не понятно как по смещению пройти или можно твои смещение использовать или мне надо баз.адрес Engine.dll и прибавить что нашел но я незнаю что имено искать что бы попасть в таблицу)
________________
Группа вк: [Ссылки могут видеть только зарегистрированные пользователи. ]
Re: Радар для Lineage 2 GoD (BSFG E5) [Без пакетов]
Цитата:
Сообщение от RenatPro
Мне тут не понятно как по смещению пройти или можно твои смещение использовать или мне надо баз.адрес Engine.dll и прибавить что нашел но я незнаю что имено искать что бы попасть в таблицу)
Код:
Engine.dll + 0x8986DC (0x208986DC) ] + 0x224]
Engine.dll(в ГоД имеет адрес 0х20000000) + 0x8986DC = 0x208986DC - читаем что там, а там указатель на след адрес, берем след адрес и добавляем 0x224, выходим в таблицу.
Re: Радар для Lineage 2 GoD (BSFG E5) [Без пакетов]
Цитата:
Сообщение от separater
Код:
Engine.dll + 0x8986DC (0x208986DC) ] + 0x224]
Engine.dll(в ГоД имеет адрес 0х20000000) + 0x8986DC = 0x208986DC - читаем что там, а там указатель на след адрес, берем след адрес и добавляем 0x224, выходим в таблицу.
Спасибо понял!) тут сыграла моя невнимательность ты искал в Год а я в IT значит таблицу придется искать в слепую есть какието варианты для быстрого поиска таблицы)?
________________
Группа вк: [Ссылки могут видеть только зарегистрированные пользователи. ]
Re: Радар для Lineage 2 GoD (BSFG E5) [Без пакетов]
Цитата:
Сообщение от RenatPro
Спасибо понял!) тут сыграла моя невнимательность ты искал в Год а я в IT значит таблицу придется искать в слепую есть какието варианты для быстрого поиска таблицы)?
есть, через отладчик.
брейкпоинты на функцию обработки движений.