PDA

Просмотр полной версии : Поиск документации, серсов, советов по контролю характеристик персоонажа.


Asmoday
06.06.2009, 11:55
Доброго времени суток!
Думаю все использовали ну или хотябы видели такие проги как l2control и Auto Combat Points. Так вот, возникла мысль немного доработать бесплатную АЦП и сделать в ней функцию радара, ну и немного усовершенствовать свои навыки в программинге.
Есть 2 варианта решения данной проблемы:
1) Брать инфу из клиента, выдергивая из памяти. С ЦП/МП/ХП понятно, а вот как получить список всех персоонажей, это уже сложнее. Пробывал хотя бы получить значение ЦП/ХП/МП из памяти, нашел как это делается на примере написания DMA тренера для Радаллера, но тут же возникла проблема, с тем что память распределяется динамически и значения помещаются в память в зависимости от первоначальной локации, где был произведен вход в игру. Может кто подсказать где посмотреть более хелп по этой темке, какую литературу почитать или может есть исходники самой АЦП.
2) Отлавливать пакеты приходящие с сервера. Вот тут у меня возникла загвозка. Скачал исходники L2PacketHack, порылся. Принцып работы понял. Но написать что-оибо вое не получается. Прошу помощи, выложите пожалуста серсы снифера для перехвата пакетов л2 и их обработки, либо подскажите конкретно какие функции глянуть в L2PacketHack. Небоходимые пакеты: Инфо о своем чара, регенерация, инфо о нпс в округе, инфо о всех остальных чарах поблизости.

Добавлено через 1 час 28 минут
С нужными пакетами кажется разобрался, необходимы след. пакеты (поправьте если ошибаюсь)
UserInfo - Инфо о себе
CharInfo - Инфо о игроках
StatusUpdate - регенерация (изменение мп/хп/цп)
MoveToLocation - Перемещение чаров (нпс тож?)

alexteam
06.06.2009, 17:21
плагином\скриптом в пх это все вполне реализуется.

DarkRanger
10.06.2009, 01:29
плагином\скриптом в пх это все вполне реализуется.

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

Arseny
12.06.2009, 21:44
можно попытаться читать данные непосредственно из клиента, указатель на структуру в течении одного запуска клиента не изменяется.
Но есть два минуса:
1. Необходимо убитый GameGuard или писать самому обход защиты(в интернете есть примеры, опираясь на них пишешь под нужные функции)
2. Довольно низкое быстродействие, при высокой скорости сканирования происходит заметное снижение FPS в игре.

Можно попытаться написать функции-перехватчики, но для этого надо знать внутреннюю структуру клиента, имена пакетов для перехвата и их структуру(можно глянуть в пакетхаке), достаточно хорошо владеть ассемблером и опять же обойти гейм гуард.
Плюсы:
1. При грамотном написании практически не влияет на быстродействие, т.к. данные получаются в процессе обработки пакета клиентом
2. При крэше программы-приемника нет нужды перезапускать клиент, достаточно зацепиться за старые идентефикаторы
Минус:
1. Малейшая ошибка в коде или что-то не учтешь - крит клиента