Разбор античита GameWer (v.4.0.16)

Пользователь
Статус
Оффлайн
Регистрация
24 Фев 2019
Сообщения
164
Реакции[?]
83
Поинты[?]
0
Категорически всех приветствую, с вами опять я, программист-неудачник Евгений, и сегодня мы разберем по полочкам AC GameWer.
Итак мои маленькие и не очень читатели, начинаем.
Файлы AC:
- Alkad.exe - исполняемый файл античита, содержит в себе: Loader на C++ + накрытый VMProtect и файл-логики(если так можно назвать) на C#.
- discord_game_sdk.dll - Библиотека Discord'а для получения уникального ID профиля Вашего Discord использующегося в HWID.
- Facepunch.Steamworks.Win64.dll и steam_api64.dll - Библиотека для получение Вашего SteamID.
- websocket-sharp.dll - Библиотека для протокола WebSocket (общение с сервером построено на WebSocket'е).
- Newtonsoft.Json.dll - Библиотека для "парсинга" JSON файлов и ответов с сервера.
- GameWer.SDK.dll - SDK-библиотека для работы с стандартной "формой" античита (так же используется для своих "форм").
- GameWer.UI.Default.dll - та самая стандартная "форма".
Чтоб не захламлять гайд я помещу все под один спойлер.
Приятного чтения :3
Воспользуемся программой
Пожалуйста, авторизуйтесь для просмотра ссылки.
и глядим в оба:


Пока всё выглядит как обычно, давайте зайдем в точку входа файла...


"Да, определенно что-то не так. Где название классов?" - спросите Вы, а я и отвечу: "Правда на вашей стороне, применен обфускатор, но это никак не помешает нам разобраться в коде программы."
"Почему?" - снова спросите Вы, а я отвечу просто: "Потому что нам не важны названия классов, мой добрый друг расшифровал все строки в коде, а имя этого друг Kaidoz (спасибо тебе бро)".
Ну что, давайте глядеть что там под капотом...
Для начала нас встречает проверка MD5 хеша всех файлов AC...

Итак, что мы тут видим? А видим следующее: проверка на валидность с заданным MD5 хешем и в случае несовпадения происходит "Environment.Exit(0);".



Упс, забыл кое-что... А как же выглядит сама проверка?


Так, чуть не пропустили самое интересное...
Что тут? Тут проверка MD5 хеша и проверка на цифровую подпись, неожиданно конечно... (поправьте меня, если я не прав)
Открывается файл который имеет цифровую подпись и ее сверяют с подписью файла который на проверке...
Ладно, идём дальше...

Проверка на Process Hacker... То есть если открыто приложение и в папке откуда оно запущено есть файл "kprocesshacker.sys" то процесс убивается и AC закрывается... Интересно конечно...

Так, всё, с меня хватит, мозг покинул чат из-за обильного количества цифр, поэтому я предлагаю нам перейти в Visual Studio и к нормальному (оригинальному) коду...

Я думаю так стало лучше, согласны?)


Данный кусочек кода получает список процессов и отправляет его на сервер GW, при этом он отправляет данные в JSON формате.


Код на проверку открытой игры и в случае успеха - закрытие последующей... Проверка похожая на проверку на Process Hacker, также как и там "парсинг" процессов и проверка папки с процессом.

Неожиданно для себя открываю что в GW есть KeyLogger, НО бояться не нужно, пароли он не ворует, он проверяет нажатия кнопки Insert. Насколько мне известно все популярные читы "биндят" на неё открытие своего меню.


Ну и давайте перейдем к самому сладкому, это HWID...

Это первый, аутентификационный пакет, нужен для авторизации античита на стороне сервера.
PCID формируется из общей суммы Вашей ОЗУ, общей суммы, букв диска(дисков), названия видеоадаптера, а также названия Вашего ЦП(noporn ^-^)).
Да мои дорогие читатели, Вы все правильно поняли, сменив одно из этих перечисленных значений Вы обойдете первый проверку HWID.
Но, к сожалению, у нас таких HWID проверок три, две в аутентификационном пакете и одна в пакете после него. Но к нашему же счастью, вторая проверка полностью зависит от третьей. Неожиданно, правда?



Это вторая проверка HWID, штош, мы видим что он преобразовывает строку в MD5 хеш, а как известно при изменении чего-либо MD5 хеш пересчитывается заново. То что нам и нужно :)
Рассмотрим третью проверку HWID:

Не буду вставлять полный скриншот, он просто не нужен. Надеюсь Вы поняли что я хочу сделать, а если нет то поясняю - достаточно удалить вот этот файл по пути "C:\Windows\System32\ARP.EXE" и мы "сломаем" одну проверку, MD5 хеш пересчитается и всё - Вы неотразимы :3
Но способ сработает до первого бана, так что, глядим дальше...
Так же проверка идет по MAC-адресу Вашего сетевого адаптера, думаю что сменить его не возникнет проблем.

Также не забываем что для бана используется DiscordID и SteamID.
Думаю с аутентификационным пакетом мы закончили.
Рассмотрим пакет после него...

Итак, что тут?
А тут целый букет, как и то что уже было так и новое...

Вкратце: получение данных с реестра и отправка их на сервер.
Скажу по секрету: нужно сменить только hwid_list ^-^


Подведем некоторые итоги:
Никакой защиты от инжекта в процесс игры тут нет, ничего нет кроме сбора информации. Обойти бан стоит от силы 5 рублей, и это только трата на дискорд аккаунт.
Правильно это или нет - решать вам.
Думаю, на этой ноте можно завершить :)
Ну вроде все что знал - рассказал. Критика приветствуется если она обоснованная и адекватная :3
Приятной игры в Rust.
С вами был программист-реверсер на минималках Евгений. До скорой встречи...
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
29 Июл 2020
Сообщения
23
Реакции[?]
2
Поинты[?]
0
У тебя большая часть картинок не рабочая поправь ссылки
 
Пользователь
Статус
Оффлайн
Регистрация
24 Фев 2019
Сообщения
164
Реакции[?]
83
Поинты[?]
0
(ノ◕ヮ◕)ノ*:・゚✧
Забаненный
Статус
Оффлайн
Регистрация
10 Ноя 2019
Сообщения
1,173
Реакции[?]
561
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Хорошо всë объяснил,молодец. Жду udefCore)
 
Сверху Снизу