Идею написания данной статьи один мой знакомый охарактеризовал фразой "удар ниже пояса". Так как Бан своего перса из-за политических разногласий =) я иначе как "удар ниже пояса" назвать не могу, то пусть это будет "ответный удар ниже пояса". Наверняка каждый человек, покопавший/половивший/пособиравший ресурсы, задается вопросами: "Почему так все однообразно и нудно и как автоматизировать эти скучные процессы?" Не все встают на этот скользкий путь противостояния читеров и систем античитеринга и причины таковы: 1) Не хочеться получить бан 2) Не хватает знаний написать своего "бота" 3) Неоткуда взять такого "бота" (скачать/купить/обменять) 4) Не хватает знаний настроить уже имеющегося бота В небольшом цикле статей, которым я наверное заканчиваю свое прибывание в мире Эволюции, я попытаюсь помочь страждущим в данном вопросе =) Предисловие Так как игроки тут на Анти в основном из умирающей Эволюции, то все примеры будут относиться именно к ней, но некоторые могут быть успешно использованы в любой игре, в том числе и во флешевом Двар.ру или вообще трехмерной линейке. История Наиболее известные скрипты-боты были придуманы еще во времена Ультимы. Люди ставили скрипты на ночь и возвращались к уже прокаченным персам =) С тех времен скрипты конечно улучшились, но и старички ультимовские живее Ленина. Но об этом после. Теория То, что ты видишь на экране во время сбора "подопят" в специально отведенной локации - это результат работы скрипта. Для читера важно понять каким образом работает данный скрипт и как автоматизировать своего клиента таким образом, чтобы связка скрипт-антискрипт пахала всю ночь, а с утра ты пожинал новый левел или нафармленное барахло =) Скрипт сервера мы назовем условно "Скриптом", а твой скрипт (написан он может быть на любом доступном языке или вообще быть отдельной программой) назовем "Ботом" Тут ситуевина такая. Чтобы скрипты (твой и сервера) понимали друг-друга нужно наладить между ними взаимосвязь. Эта связь может быть одной из 4-х видов: 1) Перебор параметров Ботом 2) Графический анализ ситуации 3) "Разбор" исходников страницы 4) "Разбор" информации передаваеммой клиенту Теперь разберем эти виды по-подробней: Автокликеры: Первый вариант это так называемые автокликеры (UoPilot, Uoh ), которые пришли к нам из Ультимы, но до сих пор подходят к почти любой игре. Принцип работы: 1) Записываем нужные действия (т.е. водим мышкой и кликаем по нужным местам, лучше по всем возможным местам появления ресурсов) 2) Задаем число повторов, скорость и запускаем записанный скрипт. 3) Следим за Ботом несколько циклов и идем пить кофе, иначе перезаписываем заного скрипт. Плюсы: Всеядность. Я пробовал их юзать в Эве в шахтах (Банальная браузерка на javascript/php/html. Чисто ради интереса, не больше минуты =)), в Дваре (На флеше. Ставил на ночь скрипт боев с тренером) и в RFOnline (Трехмерная игры. Немного качал баффы, так как при "зажатии" клавиши с макросом внутриигровая анти-чит система тебя выкидывает, а Бот ведет себя как человек - т.е. водит мышой, "кликает" на макрос с задержкой) Минусы: Самый легкоуловимый Бот. Админу достаточно просмотреть "цикличность" действий бота и наказать нигядяя =) Сколько на этом людей в шахтах полегло - это надо знать =) Необходимость держать окно "Активным". (хотя на форуме UoPilot'a пишут, что он вроде даже с неактивным окном справляется, но один фиг очень урезанно) Вердикт: Метод топора. Полезность и простота ощутимы, но пользоваться им в играх "старичках" - дело неблагодарное. Умные автокликеры Принцип работы: Помимо банальной системы записи скриптов Боты типа UoPilot'a (далее Пилот), позволяют определять цвет картинки под курсором (или в любой точке) и уже на основании этого цвета выполнять заранее написанные скрипты (в пилоте довольно развитая система скриптов, хороший и наглядный пример, пусть и без определения цвета, с шахтой можно посмотреть тут: http://forum.ultimasoft.ru/index.php?showtopic=12937) Рассмотрим на данном примере Виктора такую ситуацию: Хочется, чтобы скрипт был непрерывным и наиболее часто выполняемым, в тоже время если он обновит окно раньше его (окна) полной загрузки, то анти-бот система Эвы начнет ругаться и высылать предупреждения =))) Грузим браузер, врубаем строку состояния (Вид/Строка состояния). Обновляем страницу и смотрим, где во время обновления появляется полоска загрузки, выделяем ее цвет и координаты. В коде скрипта проверяем цвет и если Бот не обнаруживает данной синей полоски, то можно снова выполняться. Данная хитрая система была придумана одим прикольным челом из Эвы. Имен не называю, но ее эффективность в старые времена была о-го-го какой =) Плюсы: Давайте в данную категорию условно перетащим из первой "умных" Ботов, позволяющих не только запоминать/повторять действия юзера, но и программировать себя на какие-то действия. Т.е. создавать интерактив между Скриптом и Ботом. Сразу видно, что такая возможность (анализ цвета и ситуации) существенно увеличивает возможности читера. Минусы: Хоть такого Бота и трудней обнаружить, но и написать действительно интерактивный скрипт для него - задача довольно трудоемкая и сродни программированнию. Вердикт: БО'льшие возможности, но трудность настройки. "Однозадачность" - если запущен бот ни о какой работе за компом речи не может быть, так как бот водит мышкой и "отбирает" ее у Вас =) Полноценные программы К полноценным программам относяться виды 3 и 4. Тут различие только в одном: 3-ий вариант подразумевает "браузерность" игры, т.е. анализ содержимого html-странички А 4-ый анализ передаваемой информации между сервером и клиентом (сниффинг, перехват пакетов tcp/ip или другого протокола) Сразу скажу про четвертый вариант. Данная система мною лично не рассматривалась, так как сетевые технологии простому пользователю изучить с места нереалаьно, а реверсинженеринг протокола вообще тема для очень кропотливой работы очень квалифицированного программиста (или даже не одного). К данному типу относяться Боты для той же Линейки (сам не видел в живую). Продаются подобные Боты за суммы начинающиеся с 1000 УЕ (И реально даже больше. Все остальное - это подстава или старье, режущееся сервером за секунды) Ниже рассматривается только 3-ий вариант. Принцип действия: Заходим в тот же Дремучий лес Эвы и бегаем до того момента, пока на экране не появиться ресурс. Если на него навести мышку, то в строке состояния появиться адрес, на который ведет клик на ресурс. Для леса это что-то вроде: "http://oasis.evolutions.ru/wood.php?have31=33794359&fromgo=1" Строки подобные этой легко разобрать: Сначала идет адрес страницы, куда переходит клиент (до "?") У нас: "http://oasis.evolutions.ru/wood.php" Потом идет переменная, отвечающая за команду (идти, взять и тд). В нашем случае это "have31" "33794359" - это номер ресурса, который сервер показал Вам Значком "&" разделяются переменные и соответственно "fromgo=1" означает, что клиент перешел с направления "1". Чтобы разобрать данный адрес, достаточно залезть в текст страницы (Вид/Исходный текст в Опере или Вид/Просмотр HTML-кода в Интернет Эксплорере) и посмотреть, каким же образом нам показывают ресурс. Вот пример куска кода из Дремучего Леса Эвы: Code <table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center" valign="center" height="20"><b>Извилистый путь. Ваш опыт лесника составляет 62728.</b> <a href='wood_info.php' target='_blank'>Информация</a></td> </tr> <tr> <td align="center" height="360"> <div style="position:relative; width:640; height:360"><SCRIPT>WrImage('wood','3','jpg','');</SCRIPT> <div style='position:absolute; left:295; top:310; width:30; height:30; z-index:12'><a href="?go23=2"><SCRIPT>WrImage('site','bt_bot','gif','');</SCRIPT></a></div><div style='position:absolute; left:30; top:170; width:30; height:30; z-index:12'><a href="?go23=3"><SCRIPT>WrImage('site','bt_left','gif','');</SCRIPT></a></div><div style='position:absolute; left:250; top:237; width:50; height:50; z-index:12'><a href='?have31=33794359&fromgo=1'><SCRIPT>WrImage('armor','wood_17','gif','alt="Волшебный колокольчик" CLASS=img50');</SCRIPT></a></div> </div> </td> </tr> <tr> <td align='center'> </td> </tr> </table> Чтобы найти этот код, достаточно нажать CTRL+F и вбить кусочек строки перехода. Например "have31=". Нам нужно, чтобы Бот обнаружил "?have31=33794359&fromgo=1". А именно - нашел ссылку, по переходу на которую я "соберу" ресурс, т.е. "Волшебный Колокольчик" То, что в данном случае на хватает адреса страницы - не беда. Наш браузер автоматически просто перезагрузит окно, передав ему команды have31 и fromgo Наша задача в собственном Боте искать на странице данный кусочек кода (перебором ссылок со страницы или просто перебором исходного текста), определить ссылку и перейти на данный адрес. Ну в случае с лесом нужно еще постоянно двигаться по лесу (можно определять какие кнопки-перехода есть на странице и рандомно по ним бегать, но самый простой способ - постоянно тыкать "вниз", т.е. двигаться взад-вперед) Главное не забывать про "человечность" Бота и не кликать на все подряд по 10 раз в секунду, собирая ресурсы со скоростью глупого Бота =) Возможно наглядный пример программы-Бота на Delphi я приведу в следующей своей статье и каждый сможет стать BTI или Scuder'ом. В конце статьи я дам ссылку на своего Бота, который написал еще в июне прошлого года (ориентировал его тогда на рыбалку, но потом добавил Лес и кнопки быстрого перехода). Все было написанно за недели 2-3 с учетом всех тестов и того, что я писал подобное впервые. За такого Бота Скадер и БТИ вроде бы просили денег =))) мы с одногруппниками юзали его пол-года, пока в игре не остался я один. Если бы не Бот, то в Эву многие бы даже не начали играть. Да и сейчас во времена застойные тока Ботом и можно зарабатывать на жизнь в данном проекте =( Плюсы: Полный контроль содержимого страницы, еще более гибкая интерактивность, возможность улучшить удобство даже самой игры. Впринципе, если была бы задача, то кони и бои с тренером я бы на манер БТИ реализовал в течении нескольких дней, но меня это как-то не штырило. Была вообще идея создать армию ботов, дать каждому свой отдельный прокси и запустить их централизованно на бои друг с другом и другими игроками (дуэли, слава Богу, в Эве админы еще не научились "капчить"). Но тратить время на организацию системы в мертвой игре не захотелось. Хотя как было бы прикольно создать орден чистых Ботов =)))) Также легко можно было создать Бота кидателя снежков, флудера и тд. Разве что шахты мне не понравились изначально и я не разбирался как там читерить. Минусы: Необходимость знать какой-либо язык программированния. Неработоспособность метода в случае с флеш/3D-MMORPG (например, в Дваре нельзя его исходники глянуть). Относительная сложность реализации А ну да: НЕТ НЕОБХОДИМОСТИ ДЕРЖАТЬ ОКНО АКТИВНЫМ. Можно запустить СТОПЯЦОТ Ботов и рубить ресурсы переодически (раз в 5 минут, согласно звуковому сигналу или "на глаз") вводя КАПЧУ (трудночитаемый код, вводимый для входа в лес и тд. Создан для определения "человечности" клиента. Но его обходили в Эве, правда текущий вариант лично мной даже не брался на зуб, тяжеловат нефигово =)) Вердикт: Самый удобный способ для программиста. Огромные возможности для полета фантазии. Возможность запуска нескольких версий Бота. независимость от работы за компом (я например с ноута гамал в RF Online, а с компа вводил раз в 5 минут коды к 2-м Ботам и при этом лазил по форумам =)) Послесловие Как Вы поняли, стать читером в той же Эве - дело простое и зачастую не требующее сверх знаний. Нужно лишь время, поисковик и правильные голова/руки. В Эве вся борьба свелась к банальной Капче, которая ничего, кроме рвоты вызывать не может. Тупое кликанье по экрану приводит тока к одному - поиску/написанию Ботов. А ведь если бы ресурсы падали из мобов, которых надо было бы убить (пример - двар.ру) или само занятие требовало бы чего-то более интеллектуального, нежели "click wait click CAPCHA click wait", то было бы не только интересней, но и системы Анти-Ботов не понадобились. Но видимо Позитиву проще банить Алексфокса, Френдли и тп за какую-то псевдо-клевету (с какой это минуты правда стала клеветой??? =)), чем гнать в бан читеров типа Скадера, БТИ и тп. Хотя Скадер ушел, БТИ ушел, как и те, кто юзал их программы. Ушел и я со своим Ботом, задолго до псевдо-бана и со мной ушли мои друзья. Видимо даже разгул читерства не может сдвинуть попу Позитива. Вот и обещенные ссылки: UoPilot - http://uopilot.ultimasoft.ru/index_rus.html Описания читайте на сайте, я им не пользовался серьезно (тока банальные повторения действий) А вот и мой EvolBrowser - http://evolbrowser.narod.ru/ Описание в ридми. Перед использованием обязательно прочтите инструкцию. з.ы. Программы не содержат вирусов/кейлоггеров и тп. Мне не нужны ваши пароли или какие-то другие данные. Но пользоваться подобным софтом КРАЙНЕ небезопасно. EvolBrowser распространяеться "как есть" и мне впринципе пофиг за последствия его использования. Его исходники вывешивать не буду, но постараюсь найти время описать код простого Бота на Дельфях в следующей статье. Так что качайте любую версию Дельфи, начиная с 5-ой и ждите =)
|