За последние 24 часа нас посетили 66905 программистов и 1641 робот. Сейчас ищут 969 программистов ...

Читин в он-лайн игрушках

Тема в разделе "Прочее", создана пользователем Apple, 18 авг 2010.

  1. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Что ж, хотело бы обсудить довольно-таки сложную тему - механизмы читинга в он-лайн игрушках.
    Сначала разделим игрушки на категории, потому что, например, Ganjawars является обычной текстовой гамой и взаимодействует с пользователем как обычный веб-сайт. Есть игры на графических Java- и Flash-движках, есть более серьёзные вещи, наподобии Lineage - полноценная игра с клиентом, который с сервера хавает только данные.

    Для меня целевой игрой являются такие вещи, как Lineage и игры на Java.
    С Lineage мы располагаем графическим движком и непосредственно клиентом, который оперирует с данными и подставляет всё. Для некоторых Java-игр тоже есть клиенты, правда последний, что мне доводилось видеть, это окошко на С# с встроенным элементом WebBrowser =)

    Подойдем поближе и рассмотрим именно Java игрушки.
    Итак, предлагаем методы и механизмы читинга (не взлома) в этих играх. Допустим, увеличить деньги и пр.
    Ведь информация синхронизируется с сервером и некоторые данные хранятся у нас в памяти. Естественно, речь не идет ни о каких ArtMoney. Поехали.
    Вплоть до написания своего клиента.
     
  2. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    если инфа хранится на сервере и организована грамотная синхронизация - никак.
    тоесть в любой случае на сервере данные мы не можем менять
     
  3. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Если на клиентской стороне только отрисовываются данные, то да.
    Вообще, любые расчеты и прочее организовано на стороне сервера, то надежды нет =)
     
  4. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Apple
    Хм, а разве бывает иначе?
    Даже в текстовых браузерных MMORPG все расчеты выполняются на стороне сервера.
     
  5. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Не, если клиент - нормальный бинарник (как в Lineage), то по-любому разработчика какие-то расчеты было влом дублировать на сервере ))
     
  6. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    даже не надейтесь
     
  7. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Apple
    если про Lineage говорить, то там раньше в старых хрониках с3 - с4, была популярной программка, с помощью нее можно было отлавливать пакеты отправляемые с клиента на сервер.
    Допустим ты поднял золото или получил уровень, записал себе этот пакет и сидишь отправляешь его на сервер, с патчами таких дырок оставалось все меньше и меньше, сейчас их можно найти только на очень древних локальных серверах. Вот и весь читинг в линейке, ищешь то что не синхронизируется с сервером. Гораздо больше можно поиметь на багах, есть несколько команд которые собирают эти сервера за бабки, ищешь сборку того сервера где играешь, ставишь себе, дальше занимаешься поиском багов. Например смотришь, ага в этой сборке нету эвентовго нпц, а на сервере появился, значит админ своими кривыми руками его настраивал, вероятно там баг :D
    Потом все диалоги с нпц это просто <a href=""></a>, есть такая замечательная кнопочка в клиенте FAQ с нарисованным знаком вопроса, это обычный html документ, не помню в какой папке он валяется. Допустим у тебя есть многоразовый квест из 30 заданий.Скачиваешь скрипты с квестами, смотришь id, берешь у нпц задание, потом открываешь html документ (который у нас FAQ в меню), пишешь туда ссылку на завершение задания, подходишь к нпц, открываешь FAQ жмешь на свою ссылку, получаешь опыт и деньги, снова берешь задание, потом настраиваешь бота чтобы сильно не париться и все.
    Тут 2 проблемы, найти скрипты с квестами, найти квест с которым это прокатывает.
    Как правило багнутые квесты, те которые никто никогда не делает, где то в жопе после другой серии квестов на низких уровнях либо новые - только что введенные.
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Padaboo
    эта лохопрограмма работала может на лохосерверах =) А так уроненая кучка денег это объект, у него есть координаты. он где-то же лежит. И id тоже. И дважды его хер поднимешь
     
  9. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    все баги, программы, читы работали на офф сервере - корейском, только потом добрались до наших пираток
     
  10. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    вообще есть такой сайт http://allcheats.ru/ там выкладывают всё с этим связанное, но нужен рейтинг, чтобы смотреть, так что придется настроить пару ботов, пару программок для накрутки рейтинга на http://l2top.ru/ , и смотреть, что народ выкладывает работающее на офф сервере...
    Все веб обвязки к серверам валяются в паблике, я исходники не смотрел, но уверен, что дырки там есть.
    Какая цель то в итоге?
     
  11. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Padaboo
    Меня интересуют готовые решения только как возможность научиться.
    Я хочу разобраться в этом, мне не для пользования.
     
  12. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Apple
    тогда ставь свой сервер с последней версией сборки и пробуй, сайт где все это можно найти я дал выше
     
  13. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    Apple
    Слу! Напиши мне читы для Ил-2 Штурмовик
    Игре больше 10 лет, а для неё нет не одного чита кроме кривинького радара..
     
  14. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    он кстати, как раз на Java написан
     
  15. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    Apple
    Я тебе могу на примере ВоВ сказать. В силу ограничений в клиент-серверной технологии дебаггером поправить можно не так много данных. Обычный чит для ВоВ - спидхак. Чит просто меняет значение переменной, отвечающей за скорость. Но нормальные серверы обязывают ставить античиты - проги, которые смотрят за целостностью адресного пространства игры.
     
  16. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    Я вообще не понимаю, что тут обсуждать.
    Вы в сайтах своих когда каптчу встаиваете рядом вешаете ответ для нее? Доверяете клиенту и не экранируете получаемые данные в запросах? Храните инфу о статусе пользователя (юзер/модер/админ) в куках? Откуда мысли, что игроделы (да еще такого уровня ЛА или ВоВ) тупее вас?

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

    Elkaz
    Я бы сказал - тем более в браузерных, на них проще всего наваять тонкий клиент.
    Игры "потолще" со своим клиентом могут получать "излишнюю" информацию от сервера, например положение игроков недалеко от тебя. Это может быть необходимо при отрисовке сцены - игрока может быть не видно, но слышен звук его шагов, тень, ореол или свет (от магии или фонарика). При этом в игре может не быть "радара", и на основе этих данных делают валхаки. Никакой "целостности данных" не нарушается, дополнительную инфу (свой радар) можно рисовать "оверлеем" (я не про сам оверлей, а про рисование поверх уже нарисованного игрой), а readprocessmemory() вполне себе "добрая" функция и ничего не нарушает.

    Вообще в теме одно КО...
     
  17. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    Все читеры идорасы! Единственное что приветствую взлом (читерство, мошенничество, развод) ради самосдачи, пусть и за вознаграждение, но не ради наживы на багах.