Сейчас на форуме: _MBK_, asfa (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Как пишут читы к онлайн играм?
Посл.ответ Сообщение

Ранг: 0.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 июня 2009 02:02
· Личное сообщение · #1

Начал изучать онлайн игры. Планирую написать небольшого бота под один проект. Умные люди подсказали что для реализации задуманных вещей (хочу организовать автоматическую скупку вещей в магазине) нужно копать в сторону мониторинга траффика. В данном вопросе не бум-бум. Сейчас качаю wireshark (пробовал пользоваться Packetyzer, но я в нем не разобрался . )Программа выдает кучу hex-пакетов, в которых разобраться просто невозможно ). Есть у кого-нить опыт в анализе трафика приложения? Кто чем пользовался, и как фильтровал нужные данные?

Вот посидел и подумал как делают всевозможные читы к играм(maphack и т.д.). Хотел бы поделиться логикой своей мысли (У меня есть опыт программирования, и сейчас активно учу асьм, поэтому очень важно знать - правильно ли я рассуждаю?)

Многие онлайн игры построенны по приципу клиент-сервер. Клиентская программа анализирует действия пользователя и отсылает данные на сервер, где они обрабатываются. Логично было бы предположить что для минимизации нагрузки на сервер разработчик доверит обработку действий пользователя клиентской программе. клиент обработает их и отправит пакет серверу с нужными данными.
Внимание вопрос! что есть баг в онлайн игре? т.е. Если сервер не фильтрует параметры которые принимает от клиента, то я могу этим воспользоваться?

(приведу пример: я прошел 7клеток в пошаговой онлайн игре. Клиент формирует пакет с параметрами моего хода. Я перехватываю эти данные и меняю 7клеток на 20например. Если Сервер не проверяет полностью параметры, то я перескачу на 20клеток?)

я понимаю, что все зависит от конкретного случая и конкретной игры, но теоретически это возможно?
И в правельном ли я направлении мыслю?

Извините за "много букв", я пытался выразить свои мысли как можно более четко.

п.с. любые ссылки с нужной информацией приветсвуются.



Ранг: 0.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 июня 2009 04:28
· Личное сообщение · #2

Установил wireshark. Много чего полезного узнал эксперементируя. Отследил пакеты с логином\паролем. ( включал мониторинг перед вводом пароля, а после выключал. Ввел сначала правельный логин\пасс потом неправельный. Сохранил оба результата и проанализировал) Теперь можно смело брутер писать ). так же отследил загрузку вещей в магазин.
Единственная проблема данные отображаються в hex виде и анализировать их очень сложно. можно их как нибудь приобразить?

вот срока из снифера wireshark

TCP 28513 > apple-vpns-rp [PSH, ACK] Seq=587 Ack=13 Win=5840 Len=278
c TCP 28513 все понятно, Len - это длинна как я понял. А вот остальные параметры я не понимаю.




Ранг: 68.0 (постоянный), 6thx
Активность: 0.060
Статус: Участник

Создано: 04 июня 2009 15:00
· Личное сообщение · #3

TCP 28513 > apple-vpns-rp [PSH, ACK] Seq=587 Ack=13 Win=5840 Len=278 - Характеристики пакета. Забей.
Тупо анализировать трафик можно, но сложно. Я так делал для Варика III, начисляя себе голды, но на сервере это через пару минут проверялось и происходил дисконнект.
Использовал Wpe Pro и свою программку, которая помечала, какие пакеты пришли/ушли после нажатия определенных клавиш мыши/клавы.
Вообще сложное это дело, и лучше иметь сервер, чтоб можно было отреверсить парсинг пакета на нем.



Ранг: 0.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 июня 2009 17:46
· Личное сообщение · #4

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

toDr3d спасибо за Wpe Pro, сейчас обязательно скачаю.



Ранг: 0.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 07 июня 2009 02:09
· Личное сообщение · #5

Вообщем побаловался я с Wpe Pro. У меня даже при попытках переслать нужный пакет (без изменений) происходит дисконет. Я заметил что при выполнении одних и тел же действий в теле пакетов есть постоянно меняющиеся данные. Мне кажеться то что дисконект происходит из-за несовпадения параметров.

Вот игрушка tionline.ru/ Если будет у кого время посмотрите пожалуйста. Я так понял что без анализа формирования пакетов в клиенте долеко не уйти. Буду копать, заодно прочитаю пару статей по сетевому программированию




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 07 июня 2009 15:18
· Личное сообщение · #6

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

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


Если на данную игру есть чит, то его можно пореверсить, например, в CS, есть speed hack, тот же
пример с перемещением на 20 клеток и сервер видимо не играет роли, т.е. не на нем принимается
большинство решений, хотя зависит все от конкретной реализации

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 0.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 07 июня 2009 15:47 · Поправил: WildNe0
· Личное сообщение · #7

Хаков на нее не видел. Хочеться их сделать самому. Кстати на запрос в гугле wpe pro выдал много интересной информации. Насколько я понял такими методами были сломанны WoW, Lineage и масса других игр. Значит направление выбранно верное. Вообще тема очень интересная, и не ограничивается играми. Обязательно буду отписываться по ходу дела.

Кстати найти функции будет достаточно просто. Например в случае с вещами в магазине - клиент формирует в окне таблицу с описанием и изображением предмета. Все изображения хранятся в папке клиента. Нужно только отследить обращение к файлу картинки и мы выйдем на кусок кода который формирует данные полученные от сервера.


Начал распаковывать. показало UPX 0.89. После распаковыки показывает Делфи 6-7. при загрузке в OllyDbg и попытки search for intermodular calls он ничего не выдает. Как мне ее распаковать?

клиент tionline.ru/files/tionline_setup.exe




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 08 июня 2009 01:09 · Поправил: Coderess
· Личное сообщение · #8

upx -d

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

ЗЫ: Может быть динамическая подгрузка API или не основной файл разбираешь

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes



 eXeL@B —› Вопросы новичков —› Как пишут читы к онлайн играм?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати