FT Checker: FunTime поиск читов (Критика)
ВНИМАНИЕ! Это будет полностью техническая и логическая критика. У меня нету никаких предвзятостей насчёт проекта FunTime. Весь анализ строится на реверсинге используемых софтов и анализе powershell скрипта.
⠀
1. Что это за монстр? Представляется как удобная программа для модераторов, помогающая быстрее проводить проверки на читы. Является диспетчером программ который автоматически последовательно запускает сторонние софты и использует их результаты, так же проводит небольшой анализ компьютера (Написан на powershell-1 скрипте)
⠀
2. Что вообще есть в программе?
* Проверка модов через хеши (sha1). С помощью этого метода проверяются моды на читы, грубо говоря в программе заложены копии запрещённых модов и они сверяются на идентичность. Очень плохое решение для поиска читов, чтобы обойти проверку можно изменить в моде один символ, либо поставить лишний пробел. Обычно используется поиск по сигнатурам, но тут его нету. Проверяется папка только от TLauncher, другие лаунчеры - TL Legacy, KLauncher и тд, не обнаруживаются, приходится работать в ручную.
⠀
* Поиск по сигнатуре (Get-AuthenticodeSignature). Но это определение подписи файла, а не поиск читов. Проверяются файлы: C:\Windows\System32\netstat.exe, C:\Windows\System32\ipconfig.exe. Проверяются чтобы не подменили результат с этих программ. Довольно сомнительная проверка, можно легко подменить сертификат и добавить в доверенные, после чего проверка перестанет находить, почему тут не используется проверка на хеш - не понятно. Сделано для того чтобы искать прокси-читы которые транслируют майнкрафт трафик на 2 устройства, обходя проверку.
⠀
* Отправка данных серверу, а именно: список модов, список аккаунтов, вся ваша последняя активность, подробная информация о железе, dns, подключения, неподписанные dll-ки из java, данные usb, использование anydesk. Если данных будет слишком много - они не отправятся из-за ограничения на сервере (Nginx - 1mb). Обвинят скорее всего игрока и он получит бан аккаунта.
⠀
* Игнорирование ошибок во время выполнения. Это один из технического бреда в программировании. Используешь - junior программист, потому что не знаешь про обработку ошибок (Прикол: они используют обработчик ошибок только в одном месте и всё равно игнорируют ошибку, а не выводят её). Если не удастся например проверить все открытые порты - ошибку даже не выведет, обвинят игрока и предположительно забанят. Самое опасное: неизвестно как написан бекенд их сервера, возможно выведет что он чит.
⠀
* Запуск файла: vma.exe (ratke.exe -> vm.exe). Очень радуют комментарии в строках кода. Сначало про ratka.exe. Это репутационный удар, кто вообще будет как я ревёрсить файл и смотреть что он делает. Сразу обвинят в заражении вирусом. Теперь про deepseek. Интересно почему там 3 кодера если весь скрипт написан с помощью вайбкодинга. Я нашёл там "C:\Users\danfordd\source\repos\vma\Release\vma.pdb" - это остатки компиляции, большая ошибка разработчиков софта который ищет читы. Код использует рейтинговый поиск виртуальной машины, он проверяет реестры, драйверы, сам процессор (Больше 2-х тысяч записанных названий процессоров). Он использует эти данные и прибавляет рейтинг. Например нашлось 2 сомнительных драйвера, за каждый драйвер дают 100 очков, если в конце проверки будет меньше 300 очков - виртуальная машина не найдена. Интересно сколько случаев было когда виртуальная машина задетектилась, а её нету, из-за того что игрок использует незаписанный процессор и имеет один сомнительный драйвер (Названия процессоров захардкожены)
⠀
* ОДНА БОЛЬШАЯ УЯЗВИМОСТЬ. Главный разработчик и человек который имеет доступ к серверу - map4yk. Если он однажды решит обмануть либо данные с его компьютера своруют. Тысячи проверяемых игроков будут под угрозой, все установки происходят с его сервера и с его github. Можно просто подменить файл на сервере или вшить в сурс и все игроки будут заражены вирусом. Нету НИКАКОЙ проверки на хеш файла, это масштабная уязвимость которая может привести к чему угодно. Если думаете что такое невозможно, есть тысячи подобных примеров, например проект Cristalix который много времени распространял майнер. Один человек. Один сервер. Один GitHub аккаунт.
⠀
⠀
⠀
Всем пока. Моя любимая фраза: они умеют, но никому это не нужно.