Читерів стане ще більше: аналіз витоку вихідного коду GTA 5 і GTA Online

Ми провели великий аналіз витоку частини вихідного коду GTA 5. Ймовірно, файли були вкрадені разом з відеороликами та скріншотами ще не анонсованої GTA 6. Скільки всього файлів знаходиться у хакерів, невідомо.
У опублікованому вихідному коді нами були знайдені детальні описи роботи античита та процеси внутрішньоігрових грошових транзакцій. Витік не стосується облікових даних користувачів Social Club. Не знайшлося й згадок транзакцій по платіжним карткам «Акула», які використовуються для покупки внутрішньоігрової валюти.
Редакція LibertyCity виступає з осудженням читерства в GTA Online. З цієї причини ми розповімо про витік лише в загальних рисах, без детального опису роботи деяких ігрових механік.
Що міститься у витікному вихідному коді GTA 5
У опублікованих файлах містяться нативні функції, їх адреси (хеші) та детальна документація. Нативна функція — команда, що виконує певні дії, запрограмовані розробниками. Такі команди застосовуються у внутрішньоігрових сценаріях: місіях, завданнях вільного режиму, протистояннях, пограбуваннях та інших активностях. Адреса (хеш) дозволяє викликати функцію в грі.
Нативними функціями користуються й моддери при створенні скриптів для GTA 5. З 2015 року ентузіасти зібрали документацію з більш ніж п’яти тисяч функцій. Однак з етичних міркувань гравці не торкалися мультиплеєра GTA Online — цим займаються автори читерського софту на спеціалізованих форумах.
Нова ера читерства?
У опублікованих файлах є детальні описи роботи античита GTA Online. Ця інформація потрібна розробникам при створенні нових завдань та активностей у мультиплеєрі, щоб античит міг відрізнити чесного гравця від читера.
Методи роботи античита, за даними нашого аналізу, недосконалі. Блокування відбуваються не в момент вчинення протиправної дії, а постфактум. Усі дані підозрілих гравців надсилаються прямо в Rockstar Games, де гравець або отримує блокування автоматично, або після аналізу людиною. Часто гравці потрапляють під блокування випадково — наприклад, через справжнього читера, який може накачати гроші будь-кому, хто знаходиться в сесії, без його згоди.
У файлах описана окрема система перевірки цілісності та достовірності даних, які надходять від гравця. Rockstar Games придумала цікаву «обманку» для хакерів, щоб заплутати їх під час спроби обійти систему захисту. Однак усі ці методи все ж недосконалі, а після витоку — марні.
Маючи на руках фактичну документацію, автори читерського софту зможуть підлаштуватися під логіку роботи античита. Безумовно, хакери вже довгий час вивчають способи обходу захисту і роблять це досить успішно. Однак тепер читерів може стати ще більше.
Внутрішньоігрові транзакції
Окрема частина витікних даних присвячена внутрішньоігровим транзакціям: отримання грошей у місіях, протистояннях, завданнях вільного режиму та пограбуваннях.
Процес отримання грошових коштів сильно ускладнений, щоб виключити незаконну накрутку валюти за допомогою читів. У витеченій документації розробники описують, які нативні функції потрібно застосовувати, щоб античит «схвалив» транзакцію.
Ця інформація може допомогти хакерам вдосконалити накрутку ігрової валюти. Дуже часто моддерам доводилося використовувати недосконалі методи накрутки — наприклад, за допомогою падаючих з неба мішків з грошима. Більш безпечні методи, найчастіше, застосовуються у платних чит-програмах, а на їх пошук йде багато часу. Ми очікуємо, що кількість незаконно накручених GTA$ у гравців зросте ще більше.
Але є й плюси
Далеко не всі витечені файли стосуються GTA Online. Великий пласт вихідного коду застосовний і в одиночному режимі GTA 5. Ось, що нам вдалося знайти:
- Опис роботи зі звуками навколишнього середовища; фонові ембієнти та діалоги персонажів;
- Застосування штучного інтелекту для NPC та ігрових об'єктів;
- Докладна інструкція з роботи з камерою: типи камер і їх застосування в геймплеї гри;
- Робота з катсценами;
- Транспорт, зброя, ігрова фізика;
- І багато іншого.
Моддери одиночних ігор GTA позитивно відреагували на публікацію цієї документації:
Думаю, витік виявився корисним для моддингу. Окрім самих функцій, списки (enum) та структури (struct) могли б доповнити інформацію про вже відомі дані. Також коментарі до функцій допоможуть зрозуміти, як ці функції працюють.
Думаю, Alexander Blade варто було б оновити свій список нативних функцій, додавши туди функції з витоку.
Однак ігнорувати факт витоку вихідного коду GTA Online вдається не всім: «Все ж не можу ігнорувати той факт, що були витечені й функції GTA Online, що може призвести до нових проблем для простих гравців» — прокоментував ситуацію моддер LibertyCity під ніком AnriTool.
Що думають автори читів
Ми зв'язалися з автором платного мод-меню для GTA Online, але він відмовився від коментарів. Інший моддер, що спеціалізується на читах, повідомив LibertyCity, що дані з витоку вже давно були відомі моддерам. Розкривати подробиці він не став.