Чити, читери та античити

content auto translated from {from}

Чити для мережевих ігор завжди будуть. Це факт. І, як би нам цього не хотілося, але з цим нічого не вдіяти. Ну, або, як варіант, просто перестати грати. Читерство ніколи не вдасться викорінити, бо бажання грати краще і бути найкрутішим, не докладаючи особливих зусиль, властиве багатьом гравцям. І часто це приваблює багатьох новачків, які, втомившись ловити кожну кулю, вирішують покінчити з цим, вибравши найбільш легкий шлях...

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

Найперші античити були малоефективними і часто викликали безліч проблем і глюків. Але час йшов, і вони ставали вдосконалені: у бази додавалися нові зразки, удосконалювалися методи сканування, завдяки яким можна було виявити навіть невідомі чити. Але і «чит індустрія» також не стояла на місці і успішно обходила всі пастки, розставлені розробниками комп'ютерних ігор і античитів. Це нагадувало вічну боротьбу вірусописувачів і творців антивірусів. Як би класно не був антивірус, завжди знайдеться якась уразливість або лазівка. Так і тут. Немає ідеальних античитів. І тим більше, чити ж створюють не дурні підлітки, які тільки-но освоїли кодинг (такі, якщо комусь цікаво, сидять на codhacks.ru ;)). Для багатьох це стало бізнесом, який приносить їм немалий прибуток. Я кажу про розробників платних хаків (privat hacks). Саме розробниках, бо назвати їх просто «створювачами читів» мова не повертається. На відміну від безкоштовних аналогів, ризик отримати бан, використовуючи платні чити, практично прагне до нуля. Плюс до всього, тут, як правило, є технічна підтримка 24/7 (форум, irc), та й сам сервіс на дуже високому рівні. При виході нових патчів, або як тільки з'являються нові сигнатури сканування, чити своєчасно оновлюються. Боротьба з платними читами практично безглузда, оскільки майже всі вони мають систему «antileak», що попереджає витік виконуваних файлів. Розглянемо, наприклад, як працюють чити від одного відомого чит-комм'юніті. Існує спеціальний клиент на кшталт Steam’a, в якому відображаються всі ваші активні на даний момент підписки, або простіше кажучи, куплені вами чити. Самих читів на вашому ПК немає - тільки виконуваний файл цього клієнта. Коли ви запускаєте чит, він завантажується з сервера і відразу ж завантажується в оперативну пам'ять (інакше б усі платні чити лежали в відкритому доступі на якому-небудь mpcforum). Варто зазначити, що платні чити часто мають прив'язку до hardware id ПК, з якого виготовлено вхід при оплаті (якщо HW id зміниться, то ви просто не зможете зайти в клієнт). Це було зроблено для запобігання поширення читів. Адже інакше хтось один міг його купити і викласти в відкритий доступ в мережу (спочатку так і було, поки кодери не додумалися зробити те, що я описав вище). Плюс для кожного користувача генерується свій унікальний CRC код, що забезпечує додатковий захист (адже в іншому випадку, якби у всіх користувачів виконувані файли мали однаковий CRC, то цей код можна було просто додати в базу античита).

Наприклад, хлопці з команди підтримки VAC, не шкодуючи сотні євро (з тих грошей, на які ми з вами, друзі, купуємо всякі каунтер-страйки ;)), купили платний чит. Сіли і почали його розбирати. Розбирали довго і нарешті, через n-кількість часу, шляхом нечуваних зусиль, їм все-таки вдалося отримати всі виконувані файли і бібліотеки хака. Єстественно, вони тут же вносять отриману інформацію в базу VAC, і всі, хто використовував цей чит, підуть в бан. Що ж будуть робити розробники читів? Вони просто оновлять чит (змінять версію виконуваних файлів, бібліотек, змінять метод впровадження в процес гри або в кінці-кінців, просто пересоберуть чит.). І всі зусилля хлопців з Valve виявляться марними. Ну забанили і забанили – не така вже велика втрата. Ви думаєте, що тих, хто готовий витратити сотню баксів на купівлю чита, зупинить бан?.. Не смішите. Вони просто куплять новий ключ і продовжать грати з читами далі. Другий раз Valve навряд чи витратять свій дорогоцінний час на черговий пошук змін, які були внесені з оновленням чита. Вони ж не можуть стежити за одним сайтом вічно? Безумовно, у Valve працюють геніальні люди, але ж і читають розробляють теж не дурні. Щоб розібрати один такий добре захищений чит, потрібно чимало часу. А тепер давайте хоча б приблизно порахуємо скільки сайтів продають платні чита. Візьмемо, грубо кажучи, штук 20 (хоча насправді їх набагато більше). Ви думаєте, що у VAC dev team є стільки співробітників і, головне, часу, щоб скупити і досліджувати всі платні чита?.. Це просто нереально. Сизифів труд, адже чит все одно буде оновлено і перероблено, а значить, вся зроблена робота піде на смарку.

Приманка для гравців, розміщена на одному відомому сайті, що продає чити. Ви дійсно думаєте, що це активний монітор, що перевіряє стан читів?.. Це лише елемент шаблону і навіть якщо чит виявлено, то "Undetected" ніколи не зміниться на "Detected".

З безкоштовними читами справи простіші. Досить знайти якийсь популярний чит-портал і періодично скачувати звідти всі новинки, методично вносячи інформацію про них в базу античита. Крім того, ні про яку захист і, тим більше, про «antileak» тут і мови бути не може. З чого складається безкоштовний чит?

Superhack.exe (виконавчий файл)

Superhack.dll (бібліотека)

Superhack.cfg (файл, в якому зберігаються користувацькі налаштування).

Тут можна навіть просто зняти CRC з файлів і додати це в базу. Роботи, ну максимум, на півгодини. Тому безкоштовні чити живуть від сили місяць-два. І тому їх так мало. Замість того, щоб скуповувати і препарувати платні хаки, розробники античитів впроваджують нові системи виявлення, удосконалюють методи сканування і т.д.

PunkBuster vs VAC

«VAC sucks». Кожен гравець вважає своїм обов'язком кинути камінь в город VAC dev team, аргументуючи це тим, що читерів у Modern Warfare 2 все більше і більше, а хвалений VAC не тільки не справляється з ними, але й нікого не банить. І в фіналі своєї тиради такі гравці додають, що краще б залишили PunkBuster. Але при цьому ніхто навіть не уявляє як працює VAC. Навіть після того, як я склав детальний FAQ по VAC, написав тут пост, ситуація ніскільки не змінилася. Навіть в одному з коментарів до мого посту хтось умудрився написати заїжджену фразу «Чот не помітно ефективності проги. Волхакерів практично з перших днів зустрічаю». Пора нарешті розставити все на свої місця і роз'яснити спірні моменти. Передусім, друзі, запам'ятайте, а краще запишіть на листочку і повторюйте як молитву перед сном:

1. Читерів буде завжди. Це явище неможливо викорінити ніякими способами. На зміну одним прийдуть інші. Чому люди вчиняють злочини, хоча їм прекрасно відомо, що рано чи пізно настане покарання? Так і тут.

2. Чити завжди будуть на крок попереду dev team античитів, оскільки на кожен щит знайдеться свій меч.

Головне питання, яке хвилює більшість гравців «Чому в якості античита для Modern Warfare 2 був саме VAC?» (якщо бути точним, то VAC2). По тій же простій причині, по якій в грі відсутні виділені сервери. Infinity Ward, як вони люблять повторювати, хотіли зробити мережеву частину гри повністю автономною, а PunkBuster вимагає постійних оновлень як з боку клієнта, так і з боку сервера. Крім того, необхідно періодично переглядати скріншоти в пошуках візуальних улик, які свідчать про факти використання читів. А оскільки виділених серверів немає, то хто це буде робити?.. Тому був обраний VAC.

VAC з точки зору Infinity Ward повністю відповідав їх вимогам: жодних дій для підтримання працездатності VAC з боку гравців не потрібно - всі турботи лежать на плечах VAC dev team. Ось тільки IW ніскільки не збурювалося тим обставиною, що до цього VAC використовувався, в основному, тільки в іграх Valve*. Тобто, розробляючи гру, Valve спочатку могли забезпечити тісну інтеграцію з античитом, що забезпечувало ефективне виявлення постороннього втручання в ігровий процес.

__________________________

\Для довідки: цього VAC використовувався лише в трьох сторонніх іграх: Red Orchestra, Lost Planet: Extreme Condition та Killing Floor.*

Найбільший мінус VAC – це delay ban (бан з затримкою). VAC виявляє чити одразу. Але от блокування буде проведено по закінченню випадкового часу, який, в середньому, складає не більше трьох тижнів. І весь цей час читер гратиме і псує життя іншим гравцям. А отримавши бан, він, швидше за все, побіжить в магазин за новим диском і продовжить грати далі, не забувши про чити. Адже ми живемо в Росії, де ігри за Західними мірками нам віддають практично даром (той же MW2 у нас коштує 13,ауних60, а у них 60). Чому б не банити читерів одразу? Тут є своя хитрість. VAC, вибачте за вислів, справжня заноза в задниці не тільки у читерів, але й в першу чергу, у розробників читів. Як би кодер не був класний, він ніколи не зможе сказати вам напевно, виявляється його чит чи ні. Дізнатися це можна буде тільки по закінченню трьох тижнів. Більше ніяк. А якщо це публічний чит, то до того часу, якщо він спочатку ще мав статус "undetected", то з 90% ймовірністю його вже внесуть в базу VAC. Навіть розробники з популярних сайтів, що займаються розробкою платних читів, не можуть бути до кінця впевнені, що використовувати їх чит повністю безпечно.

Зовсім інша справа PunkBuster. Банить одразу. І іноді, не тільки за чити ;) При першому ж появленні якоїсь підозрілої активності в системі тут же кикає. Уміє автоматично знімати скріншоти з екрану кожного гравця кілька разів за раунд. І ці скріншоти можуть слугувати цілком достатнім доказом вини. Такі скріншоти можна надіслати Evenbalance (вони розробляють і підтримують PunkBuster), що за собою повлече глобальний бан його ключа. Dev team PunkBuster’a, на відміну від Valve, охоче приймає і розглядає всі скарги. Плюс існують різні Stream-бази. Що це? Це незалежні команди, які самостійно додають чити в свою базу, до якої можна підключити будь-який сервер (щось на кшталт сервісу Steambans). І якщо під час сканування ПК гравця буде виявлено відповідність одного з образців з stream’a, то послідує невідкладний бан, який буде поширюватися на всі сервери, підключені до цієї бази. Фактично бути забаненим по stream’у – це те ж саме, що отримати глобальний бан, оскільки кожен нормальний адміністратор підключає до свого сервера подібний сервіс. Але тут є великий мінус. За прикладом далеко ходити не треба: хлопці з GGC-stream часто банять без доказів. Крім того, будь-які докази можна фальсифікувати. Навіть скріншоти PunkBuster'a.

PunkBuster перевіряє контрольні суми файлів, текстури на цілісність (наприклад, якщо гравець використовує модифікований драйвер і у нього немає, скажімо, трави), а також багато чого іншого. Але і писати під нього нові чити в якомусь ступені значно легше. У тому плані, що можна одразу перевіряти, виявляється він чи ні.

Але з PunkBuster'ом, незважаючи на всі його переваги, дуже багато проблем. Його потрібно оновлювати вручну (автооновлення не завжди працює коректно), часто бувають конфлікти з іншим ПП. Так і вас банально можуть кикати за невідомі процеси, які в пам'яті (віруси, наприклад). А рік тому дійшло до абсурду: PunkBuster кикало гравців за використання steam'івського оверлея...

Серверна частина PunkBuster’a також вимагає постійного нагляду.

Стандартна помилка PB. Лікується його перевстановленням.

Так і коли PunkBuster починає сканувати ваш ПК, то, як правило, це супроводжується лагами і затримками.

Але, незважаючи на все це, PunkBuster з успіхом продовжують обходити. Умудряються обманювати навіть PBSS (модуль, який відповідає за зняття скріншотів з екрану клієнта). Ось, наприклад, деякі з способів обходу:

1. Скріншот просто не пересилається на сервер або пересилається пошкоджений.

2. Скріншот пересилається, але чорний. Гравець завжди може відмазатися, що у нього Vista або Win7, з якими PunkBuster не особливо дружить (а саме всі скріншоти у користувачів цих ОС чорні).

3. Даний спосіб через свою складність реалізований лише у частини платних читів. Коли з сервера надходить команда на отримання скріншота з екрана гравця (будь то авто або за бажанням адміністратора), чит автоматично відрубуватиме всю візуалізацію з екрана (wallhack, радар тощо), після чого робиться чистий скріншот і відправляється на сервер, а чит знову вмикає все. Це займає не більше півтора секунд.

Варто зазначити, що в окремих випадках PunkBuster'ом застосовується hardware ban, тобто, бан по залозу. Але за останні рік-півтора, наскільки мені відомо, таких випадків не було.

VAC же куди більш дружелюбний по відношенню до гравця: він ніколи не конфліктує з іншими ОС, не викликає лагів при скануванні і не вимагає до себе такого уваги. Максимум вас може викинути з сервера з помилкою, що зв'язок з сервером VAC втрачено (через глюки інету, ігрового сервера або ж самого сервера Valve). Але таке буває вкрай рідко.

Час підвести підсумки. І у VAC, і у PunkBuster’a є свої підводні камені. Звичайно, PunkBuster би банив читерів одразу, але, як я вже пояснив, використання його в зв'язці з IWnet неможливе, тому VAC залишався єдиним варіантом (здається, чи не єдиним). VAC, PunkBuster і GameGuard - є повноцінними інтегрованими рішеннями. А інші ж античити або використовують зовнішній модуль (як sXe Injected), або через свою вузьку спеціалізацію і малу ефективність (той же X-ray) не можуть скласти їм гідну конкуренцію.

Ось так виглядає скріншот, знятий PB під час гри (СOD4)

Безкоштовні платні чита

Ви вірите в їх існування?.. Особисто я ні. Але от багато хто вважає, що знайдеться доброволець, який купить на свої гроші чити і викладе їх в відкритий доступ, щоб усі бажаючі могли їх скачати. Цим і користуються всякі нехороші люди, викладаючи фейки. Але це не чит, а лише виконуваний файл і красиве вікно. Єстественно, всередині тройан, який уводить пароль від Steam-аккаунта. Але гравець перебуває в стані такої ейфорії, мовляв, от він зараз зайде на сервер і нагнал всіх, що просто ігнорує повідомлення антивірусу або вимикає його. А на наступний день ллє соплі на якому-небудь форумі, скаржачись, що у нього угнали акаунт. Якщо мої слова прозвучали для вас не достатньо переконливо, то завантажте такий "чит" для перевірки на virustotal.com і побачите все самі.

Russian Hackers

Не в образу буде сказано, але російські читери найглупіші. Чотирнадцятирічний хлопець Вася купив Modern Warfare 2, і погравши два дні, розлютився на всіх і вирішив підвищити свій скілл. Його друг Ваня порадив йому знайти читати: "ЦЕ ТАКА КЛАСНА ПРОГА". Вася радісно починає гуглити і йому тут же усміхається удача. Він знаходить класний форум, звідки качає якийсь не менш класний чит. Що таке VAC і те, що використання читів повлече за собою бан, Вася навіть не має поняття. Чит працює, а Васю не забанило ні на перший день, ні на другий, ні через тиждень... Вася перебуває в неописаній радості і думає, що так буде завжди. Але тут його настигає бан. Поплакав на якому-небудь форумі про те, яке Steam г... (на modernwarfare2.ru напевно, там багато таких ;)), він йде купити новий диск. Без читів він вже грати не може. І він знову знаходить чити. І знову наступає на ті ж граблі. Увага, питання: скільки разів Вася повинен отримати бан, щоб до нього дійшло, що чит - зло? Два? А може бути навіть три? А може бути у Васі тато власник нафтової свердловини, і тому Вася може собі дозволити купувати по диску в тиждень?..

Російські навряд чи стануть купувати платні чити. Адже ми звикли до халяви. Ми навіть ліцензійні ігри купуємо з великою неохотою, що й говорити про чити... Як якось хтось сказав "Купувати чити?! Омг, виявляється, щоб бути, вибачте, чмошником, потрібно ще й платити?". Так і звідки в рядового школяра пластиковий картка і сотня євро на оплату чита? Ось і юзають безкоштовні.

На Заході вже давно зрозуміли, що використовувати безкоштовні чити - це все одно, що займатися сексом з повією без презерватива. Бан ви отримаєте обов'язково. Це лише питання часу. Так і для них сотня євро, як для нас сто рублів. Адже краще не ризикувати і один раз заплатити за чит, ніж потім позбутися стим акаунта, на якому ігри на загальну суму десь в 600 баксів. Але навіть купивши чит, ніколи не можна бути впевненим, що ти залишишся безкарним.

Teh drama

Все-таки я ще раз переконуюсь, що в Infinity Ward і Valve працюють геніальні люди.

Вже через тиждень після виходу гри, з'явилося величезна кількість читів і відповідно читерів. Це було схоже на епідемію. Ось тут і спливла на поверхню вся ущербність IWnet’a. Ні забанити, ні кикнути читера гравці не могли. А для читерів же це був справжній рай... І якщо VAC худо-бідно вносив все нові і нові чити в базу, то з платними читами потрібно було щось робити. «Купити їх усі і теж внести в базу» – скажете ви. Нереально. Для цього потрібні, по-перше, величезні людські ресурси, по-друге, час, і, по-третє, як я вже писав вище, все це було неможливо у зв'язку з тим, що платні чити мають систему «antileak». Занадто багато часу необхідно на аналіз одного чита, а адже кілька десятків... На Valve ще тиснули Infinity Ward, мовляв, ми вам відвалили такі гроші (ви ж не думали, що VAC dev team працюють безкоштовно?), а не пройшло й місяця, як читери заполонили гру.

І з цим потрібно було що-то робити. Не відомо, хто запропонував цю ідею, але цій людині однозначно потрібно дати медаль.

Коли вийшов патч *169, то всі платні чита тут же обновилися, обійшовши нові сигнатури і фікси (безкоштовні оновлюються куди довше). І тут Infinity Ward зробили відкат до версії *164, і всі читери миттєво сплили на поверхню. Більш ніж дві з половиною тисячі людей. Для них не було таймера зворотного відліку. Забанили майже всіх, хто використовував платні чити. І, швидше за все, воодушевичі отриманими результатами, IW і Valve візьмуть це на постійні практику. Але не варто радіти. Вороги також не дрімають. Розробники читів не захочуть втратити клієнтів і величезні прибутки, а значить, війна триває. І буде продовжуватися до безкінечності.