Как работает античит wow

Обновлено: 30.06.2024

Тут про ботоводов на оффе, но подходит и прочим читерам.

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

Как обмануть Близзард?

У меня часто спрашивают различные совету по тому как же не палиться на ботоводстве? Существует ли какая-нибудь защита от Вардена(Warden)? И как сделать жизнь аккаунта-бота максимально долгой?

В этом гайде я постараюсь ответить на эти вопросы максимально просто и понятно!Итак поехали:

Что такое Варден и как он работает?
Варден - это античит система Blizzard-ов, которая направлена на отлов как раз таких как мы(ботоводов).

- Вопрос: Можно ли от нее спастись обычному смертному?
- Ответ: нет

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

Как работает варден?

Многие гадают ответы на данный вопрос, многие предполагают различные версии. Если немного задуматься и прочитать внимательно такие вещи как законы США и России, а так же Пользовательское соглашение продукции Близзард, то вы сразу же отметете в сторону большинство своих версий!!
По закону ни одно программное обеспечение не имеет права сканировать ваши личные данные на компьютере, в пользовательском соглашении ВоВ есть пункт, который гласит о том, что Близзард имеют право сканировать файлы, находящиеся внутри папки World Of Warcraft.
О чем это говорит? Минимум о том, что менять название бота, имя процесса бота, название папки с ботом(в общем все школьные методы) - бесполезное занятие.

Как варден отслеживает непосредственно ботоводов?
Нет,он не следит за нами постоянно как око саурона , как правило на ботовода рано или поздно приходит определенное количество тикетов или его логи становятся слишком уж закономерно одинаковыми. Тут то и подключаются к работе Близзард и Варден!

Сотрудники близзард дают команду вардену сканировать данного игрока на каком-то временном промежутке на встраивания чего-либо постороннего в процесс WoW.exe, а именно этим и занимается наш любимый бот! И вот вы запускаете ВоВ, запускаете бота и опля - бан!(Инфа 100%, есть знакомые, работающие в близзард). И защиты от такой системы просто тупо не существует, не верьте в байки ходящие по интернету, защитится от вардена = получить бан за изменение системных файлов WoW.

Теперь обсудим какие типы банов бывают и что это значит?


Банов за ботоводство бывает два типа: предупреждение и перманентный бан .
В чем разница?

Предупреждение - это 72-х часовая блокировка вашего аккаунта за "плохую" деятельность(ботоводство,читы или голд селлинг), как правило если вам дали предупреждение, значит у Близов серьезные подозрения на счет вас, но они не особо доказаны или близы просто добрые и на первый раз прощают.
Что делать в случае получения предупреждения?
Если вам вынесли предупреждение, сразу же бегите на свой почтовый ящик и читайте письмо от близзард с причиной вашего бана! После же чего подавайте аппеляцию в близзард мол ничего подобного вы не делали и несогласны с блокировкой, да и вообще первый раз слышите про голд селлинг и ботов, а что это вообще такое?

Перманент - это окончательная блокировка аккаунта за нарушения правил использования. Если вам дали перманентый бан, то близы 100% уверены в том, что вы виновны. Поэтому плакаться им мол вы ничего такого не делали - беполезное занятие, только злить их.

Что же делать? спросите вы.
Тут есть два варианта:
1) Попробовать написать близзард, мол вашу учетную запись взломали мошенники и использовали ее в своих корыстных целях(в 30% случаев спасает учетку)

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


Теперь непосредственно к избеганию банов:
Что же делать? как поступать?

Итак есть несколько пунктов, которые помогут вам не попасть под подозрение:

2. Беспокойства со стороны:
Во время работы бота любой игрок может вам написать что-либо, как либо побеспокоить вас! И естественно не получив ответа, он задумается и даже тикетнет вас. Что делать? Тут нам помогут плагины, которые можно найти на нашем форуме в разделе "Мониторинг". Навязчивых писателей в личку - кидаем в блек лист. не ну а какого черта какой-то урод отвлекает меня от важного занятия ковыряния в носу и фармления травки

3. Система Аукциона:
Если вы выставляете нафармленое ботом на аукцион, будьте осторожны! Не выставляйте сразу очень много, делайте это с разных персонажей. Ведь 1к лотов по стаку травы на ауке от одного человека - это подозрительно.

4. Голд селлинг
Если вы занимаетесь продажей голда, делайте это не с учетки, которой вы ботите и делайте это наиболее безопасными методами(через гильд банк к примеру)

5. Профили
Не летайте очень долго по одному маршруту, чередуйте разные маршруты.
Так же не пользуйтесь паблик профилями для фарма, это огромный риск схлопотать бан. Используйте приватные профили, напишите себе сами профиль(если умеете) или же закажите профиль у нас на форуме от профессионалов этого дела/купите опять же у нас на форуме уже готовую приватную сборку профилей!

7. Играйте иногда руками:
Иногда играйте руками за своего персонажа - улучшайте ему экипировку, ходите в инсты/рейды, чтобы персонаж выглядел максимально "живым".

8. Выход патча:

Как правило где-то в момент, когда объявляется точная дата выхода патча на живых серверах, близзарды начинают активно высматривать ботоводов.

Самые неосторожные улетают сразу, осторожные живут. Но на неделе до патча и неделе после патча - ботить = ходить по лезвию ножа. Не важно как вы перестраховались и какие у вас профили, в эти две недели близзы сканят нещадно и в бан улетают все фармилы. У близзов такая политика уменьшения фарма на патчах =)

Вот собственно и все советы, которые можно привести, чтобы избежать бана!

Удачи вам в вашем пути ботовода, побольше фарма и поменьше банов.
Всегда ваш HonorHelp!

Итак, как и обещал, пишу небольшой мануал по тому, какие есть вариации разбана своей учетки, заблокированной за бота.

Для начала узнайте, какой бан вам дали:
1) 72 часа - предупреждение
2) перманент - блокировка

Как узнать какой бан нам дали?
Понять тип блокировки можно разными способами. Для начала о блокировке вы скорее всего узнаете, когда будете заходить на свою учетку. При входе вам выдаст ошибку о невозможности зайти на учетную запись по причине блокировки: 202 ошибка - перманент, 203 - 72 часа.

Так же узнать тип блокировки можно из письма, которое придет вам на email в ближайшее время после бана.

В крайнем случае можно написать в тех. поддержку и тупо спросить какую блокировку вам дали =)

Что делать дальше?

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

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

Этот способ не является 100% , но все же дает шанс сохранить свою учетную запись.

После того, как ваша учетка будет спасена, не торопитесь ботоводить выждите какое-то время, так как вы будете под пристальным присмотром близзард!

Надеюсь кому-нибудь поможет =)

Получил бан сегодня .Вроде не сильно наглел часов по 6 бот летал в сутки.

У меня забанили сразу два аккаунта, при этом пароль на учетках был сменен за 10 минут до бана. Как долго лучше не ботить, если бан все таки снимут? Можно ли сразу будет ботить на других аккаунтах? Или же будет слежка?

Зы. Они никогда не учатся и не меняются. Только разбанят, уже думают о новых нарушениях

Proof of concept

В качестве демонстрации работоспособности обхода с извлечением какой-то практической пользы было принято решение произвести модификацию кода World of Warcraft по относительному смещению 0x008C9A3E , которое проверяется сканером Warden. Процедура, соответствующая этому смещению, ответственна за проверку прав на исполнение Lua-скрипта (многие из функций WoW API заблокированы для пользователя и могут быть использованы только родным пользовательским интерфейсом). Участок кода в области этого смещения выглядит следующим образом:

Само смещение соответствует условному переходу после сравнения глобальной переменной, содержащей идентификатор уровня доступа для текущего контекста, с нолем (ноль соответствует самым высоким правам). Заменив условный переход безусловным, получаем возможность использовать любые функции WoW API, создавая сложные и «умные» скрипты, автоматизирующие многие игровые действия (самый примитивный пример использования: забиндить всю ротацию спеллов на одну кнопку, с проверкой кулдаунов и так далее, что сделать изначально невозможно). Упрощенный код установки патча выглядит примерно так:

После установки патча становятся доступны прямо из макросов «защищенные» функции WoW API, а в логе активности Warden мы можем наблюдать предотвращенные попытки просканировать пропатченную область. Убедиться в этом ты можешь, скомпилировав и опробовав прилагаемые к статье исходники.

06_warden_bypassed

Античит

Античит.jpg
может кто то объяснить что это такое? Дисконит с сервера

Да, тоже появилась такая фигня, хотя до этого ее уже несколько месяцев не появлялось. Хотя ни каких новых аддонов не устанавливалось. Что то опять с обновой принесли новое )

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

Ну так не было проблем, только сейчас началось 10 минут назад

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

Ну мы, как простые смертные, не понимаем что такое потеря пакетов, поэтому просто приложу подорожник

НУ что же. Ждём адекватного ответа от администрации

Такая же история , ктонибудь знает как активировать этот античит ? Наалось 15 мин назад

Против системы

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

  1. Обходить стороной заведомо опасные адреса при внесении модификаций в код.
  2. Использовать косвенное внедрение, перехватывая один из методов DirectX — Device.EndScene().
  3. Прятать все совершенные модификации на лету (при сканировании).

Первый вариант будет работать до поры до времени и по большому счету обходом как таковым не является. Второй вариант (перехват EndScene() ) действительно неплохо работает, функция вызывается после завершения построения каждого выводимого на экран кадра и перехватывается, например вполне легальными программами видеозахвата, что не дает Warden возможности однозначно трактовать изменения в коде функции как запрещенные модификации. Тем не менее вариант больше годится для ботов и успешно ими эксплуатируется на протяжении уже нескольких лет. Третий вариант идеально подходит для статичных модификаций (как, например, включение отрисовки всей карты в Star Craft — maphack), кроме того, его реализация сама по себе интереснее и технологичнее. Именно последний вариант подробно и рассмотрим далее.

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

Очевидно, что для сокрытия произведенных модификаций необходимо внедриться в сканирующий код Warden. Как известно, этот код не присутствует в процессе со старта, к тому же при загрузке получает случайный адрес. На первый раз его можно обнаружить при помощи отладчика, просто установив breakpoint на чтение любого из сканируемых адресов (от какого-либо старого, давно детектируемого хака). Например, для последнего (на момент написания статьи) билда World of Warcraft, установив breakpoint по относительному базе основного образа адресу 0x0045A6F0 , мы попадаем в следующий участок кода:

Сердце сканера Warden

Сердце сканера Warden

Опытным путем было установлено, что обнаруженный код не подвергается полиморфным изменениям, в отличие от всего остального модуля, к тому же изменялся он за последние годы лишь однажды, что делает его идеальной мишенью для внедрения. Но так как этот код — часть загружаемого динамически модуля, то необходимо будет также перехватить момент его появления в процессе, чтобы внести изменения до первого исполнения. В случае с WoW загрузчик является частью кода игры и находится прямо в Wow.exe (для 32-битной версии), его можно найти, перелопатив километры листингов в дизассемблере, или пойти более хитрым путем. Память под загружаемые образы модулей Warden выделяется функцией VirtualAlloc() , лог вызовов, с указанием места, откуда был произведен вызов, будет содержать адрес, принадлежащий загрузчику.

При этом нет нужды перебирать все записи: после логина и входа на игровой реалм необходимый модуль Warden будет уже загружен, можно просто произвести поиск по всему адресному пространству процесса бинарного паттерна, соответствующего ранее найденной процедуре сканирования данных:

Поиск загрузчика

Поиск загрузчика

Таким образом мы определим точное текущее местоположение необходимого нам кода Warden, а лог вызовов VirtualAlloc() позволит определить, откуда именно была запрошена память под этот код, указав тем самым на загрузчик модулей Warden. Проанализировав в дизассемблере код загрузчика, можно найти подходящее место для перехвата. Для этого нужно найти подходящий момент, когда все секции образа, полученного из Сети, будут успешно отображены в АП процесса, после этого можно будет внедрять перехват, модифицирующий код Warden. Подходящим участком может быть вызов VirtualProtect() , устанавливающий финальные права доступа к секциям:

Загрузчик модулей Warden

Загрузчик модулей Warden

Код функции-трамплина, переход на которую установлен вместо call ds:VirtualProtect , может выглядеть следующим образом:

Полная свобода действий

Возможность безнаказанно вносить любые изменения в игровой клиент открывает широчайшие перспективы для дальнейших исследований. На самом деле в играх Blizzard можно сотворить абсолютно все, что только можно себе представить или захотеть. Об одних лишь возможностях разблокированных скриптов Lua в WoW можно было бы написать отдельную статью. Ведь даже простые скрипты могут избавить игрока от рутинных действий или снизить зависимость от реакции и внимательности, позволив уделять чуть больше времени другим вещам. При этом возможности свободных модификаций клиента не ограничиваются простой разблокировкой тех или иных возможностей. В общем, дерзай!

Поиск данных по бинарному паттерну

Чтобы делать модифицирующие код патчи не зависящими от версии игр и не перебивать раз за разом смещения, потребуется возможность поиска по двоичному паттерну (шаблону). В этом случае на основе кода, требующего изменения, создается паттерн, содержащий достаточно информации для того, чтобы при совпадении можно было уверенно сказать, что нашлось именно то, что требовалось. Существует масса различных возможностей реализации поиска по шаблону. В предлагаемом мной решении поиск производится по шаблону вида: xA?B (где A и B — натуральные числа, x — точное совпадение байт, количество которых указано следующими символами, ? — пропускаемые байты).

Полные исходники можно посмотреть в прилагаемом проекте.

Невидящее око Warden’а

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

Чтобы в поле зрения Warden не попало ни одного измененного байта, при каждом вызове сканирования необходимо искать пересечение множеств сканируемых адресов с адресами пропатченных данных. Так как патчи, скорее всего, не будут идти один за другим (это не имеет смысла) — будет максимум одно пересечение для одного скана и данные можно будет брать из структуры, связанной с каким-то одним конкретным патчем. Все возможные варианты пересечений сводятся к одному двойному условию: либо адрес начала множества сканируемых байт входит во множество адресов патча, либо наоборот. Таким образом, мы должны перебирать все патчи, проверяя заданное условие:

Получив сопряженную с текущим сканированием структуру с информацией о патче, подменить данные не составит труда:

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

Лог активности Warden

Лог активности Warden

Лишаем зрения античит систему многопользовательских игр

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

SOURCE

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

Тема: Warden Anticheat. (для игроков)

Патчер

Для того чтобы была возможность скрывать свои действия от глаз Warden, необходимо запоминать абсолютно все производимые в памяти процесса изменения и иметь доступ к оригинальным данным, существовавшим до внесения изменений. Любые изменения (перехваты, подмены и прочее) должны производиться одним и тем же средством, которое должно гарантировать выполнение изложенных требований:

Список структур, содержащий информацию по всем совершенным в процессе изменениям, может принадлежать объекту с глобальной областью видимости. Модифицирование кода теперь может производиться примерно следующим образом:

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

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

Безмолвный смотритель

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

  1. Получение списка относительных адресов для сканирования.
  2. Считывание необходимого количества байт по каждому из адресов.
  3. Расчет хешей.
  4. Компоновка пакета с хешами и отправка его на сервер.

Заблокированная игровая учетная запись

Заблокированная игровая учетная запись

Как насчет остальных проектов Blizzard?

Тема: Античит

Warden Anticheat. (для игроков)

Warden Anticheat - главное детище Blizzard Entertainment в области защиты от нарушитей. Теперь и на нашем сервере.
Тема создана:
1) Чтоб игроки нашего реалма имели хоть малейшее представление о нашей инновации.
2) Чтоб уберечь честных игроков от ошибочного(несправедливог� �) бана.
3) Наставить "нарушителей" на правильный путь (указать на их безысходность).

Warden Anticheat - очень мощный, строгий, а местами даже коварный античит(все зависит от настройки).
Античит работает только с базой TrinityCore, которую поставили нам совсем недавно.
До этого сервера(wowcircle x20) я играл на менее популярном - thunder-wow(introemu).
Так вот..там я впервые познакомился с Варденом, однако там была менее жесткая настройка(точнее настройка на менее суровое наказание):
за место того чтоб выдавать бан, античит, как только фиксировал нарушение, кикал игрока из игрового мира.
У нас же совсем другая история)) Наш онлайн и репутация(среди других серверов) позволяет карать читеров по всем статьям, так сказать.Возможно оно и правильно.
Warden способен полностью искоренить "нечестную игру" на нашем, уже родном, Wowcircle.
Если старый Античит (AntiLACD но могу ошибаться) реагировал на движение(перемещение) конкретного персонажа или на его действия.И предотвращал его.
То новенький* (то есть Warden) имеет полный доступ к вашему клиенту и видит все процессы влияющие на его работу.
В этом и состоит суть работы Warden-а.
Вместо того, чтоб следить за вашими действиями, античит просто фиксирует потусторонний(вредоносный) процесс, влияющий на работу вашего "wow.exe" , и бесщадно наказывает вас.
Так же, этот умный "шпион" может: проверить логи, заметить=>зафиксировать давнее использование какого-либо чита и выдать бан;
Зафиксировать вредоносную программу в директории игры=> забанить.
Читерство - применение специально созданных или модифицированных программ или оборудования в сетевых играх для получения неоспоримого преимущества над другими игроками. В отличие от читерства в одиночных играх, представляет угрозу для игровых сообществ.
Эти программы(Читы) - работают по принципу изменения заданных внутренностей(кодов) программ(в данном случае игр) под себя.
=> пока чит ищет нужную программу, среди открытых процессов, он может повлиять(или попытаться повлиять) на работу всех процессов.
А к чему же я это написал. О_О
Так вот, из этого следует, что использование любых читерских,хакерских, вредоносных программ могут привести к бану в World of Warcraft, в не зависимости от того к какой игре вы его применяли.
Играя на сервере, Вы автоматически соглашаетесь с тем, что в целях выявления вредоносного и читерского программного обеспечения(ПО), базовая и динамическая память клиента WoW будет подвергаться сканированию.
Профилактика или "Как обезопасить себя от ошибочного бана" :
1) Если вы когда-либо использовали читы, а затем образумились, поняли, что это-НЕ ОК. (Полностью честным игрокам советую провериться и тоже пройти два этих несложных шага, ведь никто не застрахован от скачки "инфицированного" клиента)
а)Удалите все вредоносные программы,которые относятся к Wow-y и другим творениям Blizzard
б)Удалите папку Errors (World of Warcraft-errors) . Античит может прочитать ваши Errors. и если с вашего клиента запускался какой-либо чит, под действием которого клиент выдавал краш, все фиксировалось в логах. Не важно на каком сервере и когда использовалась программа.
2) Любители почитирить в других играх. не советую использовать читы для других игр, при запущенном World of Warcraft(да и вообще не надо читерить)
3) Так же не советую открывать какие-либо незнакомые программы или программы влияющие на процессы вашего компьютера, при запущенном World of Warcraft.

Для "Всеми любимых" читеры, для вас.
Если вы внимательно читали мой пост у вас должны были выступить мурашки по коже.
Никогда не поздно одуматься!
Если вы хотите продолжать играть на нашем реалме, вам придется полностью отказаться от использования читов.
Играть честно намного интереснее.
И если сейчас вы находите "дыры" в недонастроенном античите, это не значит, что так будет дальше.
На данный момент Warden реагирует не на все виды программ. Но это не на долго.
Поверьте после полной настройки Античита, и получения бана, думать будет поздно, а 240 дней это не неделя. Так что задумайтесь лучше сейчас: Оно того стоит??
Программы на обход Warden-a - игрушка на 2 дня, для дурачков. Прежде всего это усиление данного чита или скрытие действий на процесс, данные программы вскоре тоже будут добавлены в список "вредоносных программ" Античита.

WARNING

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

Читайте также: