🎣 HideMyDiscord: рабочий обход блокировок с загрузчиком в комплекте

О чём заметка

hidemydiscord.com раздаёт «бесплатный фикс ДС» — сборку на базе zapret-discord-youtube от Flowseal, которая действительно работает: Discord после запуска чинится. Проблема в том, что рядом с настоящим ядром обхода в архиве лежит файл StartWin.exe на 6,2 МБ, которого в оригинальной сборке нет, и запускают его 21 из 23 стартовых скриптов. По именам функций внутри это загрузчик второй ступени: скачать файл из сети, расшифровать, запустить. Здесь — разбор всей цепочки от лендинга до бинарника, включая приём с поиском скрытого GitHub-репозитория по числовому идентификатору. Каталог других подделок — в заметке о вирусах в Zapret.

HideMyDiscord — это вирус или нет? Что за StartWin.exe в папке bin, зачем пароль на архиве HDS.zip, безопасно ли качать фикс дискорда с hidemydiscord.com — разбор на 11 августа 2026.

TL;DR

  • Сайт hidemydiscord.com (домен зарегистрирован 6 марта 2026) отдаёт HDS.zip, внутри которого лежит второй архивHideMyDiscord3.8.0.rar, запароленный, пароль опубликован прямо на странице: HideMyDiscord!.
  • Внутренний архив упакован RAR версии 7 (метод v6), который 7-Zip не распаковывает вовсе — для разбора нужен официальный unrar.
  • Внутри — сборка Flowseal со всеми стратегиями и настоящим рабочим обходом, плюс лишний файл bin/StartWin.exe (6 210 048 байт, SHA-256 9e35060a08af71f28e18c7226867115ff72a3ee52333ce4e9fd65c21821e7bbe), которого в оригинальной сборке нет.
  • Каждый из 21 файла запуска Method (*).bat стартует сначала StartWin.exe, и только следующей строкой — настоящий winws.exe. Обход работает, поэтому пользователь ничего не подозревает.
  • StartWin.exe написан на Go 1.26.5, имя модуля — loader, метка времени сборки обнулена. Имена функций не скрыты и говорят сами за себя: downloadFile, downloadOnce, decryptBlob, destPath, launchPayload, runExe, runBat, runTxtManifest.
  • Ядро winws.exe пропатчено: строку с git-хэшем сборки заменили на hidemydiscord.com, а надпись github version %s — на HideMyDiscord. %s. Из-за этого его хэш не совпадает с официальным, хотя версия ядра та же — v72.9.
  • Раздача идёт из профильного репозитория LimeChairmanDirect/LimeChairmanDirect — того, где обычно лежит только README профиля. Такой репозиторий не всплывает в поиске по темам. На 11 августа 2026 у файла 175 скачиваний.
  • Аккаунт создан 3 июля 2026 в 13:18:22 UTC — через 3 минуты 55 секунд после аккаунта Quantumfirear из соседнего разбора, с почти соседним внутренним идентификатором. Это тот же конвейер регистраций.

Что проверено, а что нет

Состав архивов, размеры, хэши, структура StartWin.exe, список его функций и патч в winws.exe получены статическим разбором на Linux: ни один файл не запускался. Адрес, с которого загрузчик тянет вторую ступень, в открытом виде в бинарнике отсутствует и здесь не восстановлен — значит, что именно он скачивает, доказать нельзя. Вердиктов антивирусов по этим образцам в заметке тоже нет: публичные базы по хэшам данных не отдали. Всё, что утверждается ниже, — это структура файлов и имена функций внутри них.

Как выглядит приманка

Лендинг сделан добротно: тёмная тема, аккуратная типографика, разделы «Инструкция», «Возможности», «FAQ». Заголовок обещает обход Discord и YouTube, подпись честно указывает первоисточник — «работает на базе Flowseal zapret-discord-youtube».

Под кнопкой скачивания — строка, которая должна настораживать сама по себе: «Пароль архива: HideMyDiscord!».

Пароль на архиве с бесплатной утилитой не выполняет никакой полезной функции. Он не защищает от копирования (пароль опубликован рядом), не экономит место, не ускоряет загрузку. Единственное, что он делает, — не даёт антивирусу и онлайн-сканеру посмотреть внутрь до распаковки. Этот признак стоит в чек-листе проверки сборок с самых первых случаев: запароленный архив у публичного инструмента — красный флаг без исключений.

Домен hidemydiscord.com зарегистрирован 6 марта 2026 сроком на год, обслуживается на серверах имён провайдера, который позиционирует себя как устойчивый к жалобам. Никакой связи с Flowseal или bol-van у сайта нет — имя проекта используется как знак качества.

Как найти скрытый репозиторий по ссылке на файл

Кнопка «Скачать» ведёт не на сайт, а на GitHub — и здесь начинается интересное. Прямая ссылка на файл релиза выглядит как длинная строка с подписью и сроком годности, вида release-assets.githubusercontent.com/github-production-release-asset/1306015757/…. Имени репозитория в ней нет.

Но число после github-production-release-asset — это внутренний идентификатор репозитория, и по нему GitHub отдаёт всё остальное:

curl -s https://api.github.com/repositories/1306015757 | grep '"full_name"'

Ответ: LimeChairmanDirect/LimeChairmanDirect.

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

Почему раздача лежит в профильном репозитории

Обратите внимание на имя: владелец LimeChairmanDirect и репозиторий LimeChairmanDirect совпадают. Это профильный репозиторий — специальный репозиторий GitHub, содержимое README.md которого показывается на странице пользователя. Обычно там лежит рассказ о себе и ссылки.

Выбор не случаен. У профильного репозитория нет тем и описания, он не попадает в выдачу по тегам вроде zapret-discord-youtube-2026, его не найти поиском по названию проекта — а релиз к нему прикрепить можно, как к любому другому. Раздачи, разобранные в заметке о зачистке GitHub, висели на виду и собирали накрученные звёзды; эта, наоборот, спрятана: 0 звёзд, 0 форков, единственный файл README.md на 2520 байт.

При этом трафик идёт: у релиза HDS (опубликован 10 августа 2026, обновлён в тот же день в 22:57) — 175 скачиваний на 11 августа 2026.

Тот же конвейер аккаунтов

Аккаунт LimeChairmanDirect создан 3 июля 2026 в 13:18:22 UTC. Для сравнения — аккаунт Quantumfirear, раздающий сборку с payload внутри general.bat, создан 3 июля 2026 в 13:14:27 UTC. Разница — 3 минуты 55 секунд, а внутренние идентификаторы отличаются на 1342.

Совпадает и остальной почерк: у владельца три репозитория, из них два — мусорные, со случайными именами из восьми строчных букв (qwhesqjf создан через две минуты после регистрации, sbweqhui — вместе с профильным). Ровно такой отпечаток описан в разборе фабрики аккаунтов, где за шесть минут одного утра зарегистрировали 39 подтверждённых аккаунтов этой сети.

Как аккаунту рисуют историю: 150 коммитов, треть из них — в будущем

Второй мусорный репозиторий, sbweqhui, на первый взгляд выглядит как заброшенная песочница: README.md на 10 байт и файл log.txt. Но счётчик показывает 150 коммитов, а последний из них датирован 31 декабря 2026 года — то есть на четыре с половиной месяца позже дня, когда это наблюдалось.

Устроено просто. Каждый коммит называется датой и дописывает в log.txt одну строку — с той же датой. Никакого кода там нет вовсе, файл целиком состоит из 149 строк вида - 2026-01-05T09:25:00. А сами даты равномерно размазаны по всему 2026 году: январь — 17 коммитов, февраль — 13, март — 15, и так до декабря — 14. Из 150 коммитов 55 имеют дату в будущем.

Реальное же время публикации видно по метаданным репозитория: создан 19 июля 2026 в 21:04:16 UTC, последняя запись — в 21:07:23. Вся «годовая активность» залита за три минуты.

Проще говоря: GitHub рисует зелёный календарь вкладов по дате, которую указывает сам автор коммита, а не по дате отправки на сервер. Скрипт проставил даты по всему году — и профиль выглядит живым круглый год, включая месяцы, которые ещё не наступили. Человек, зашедший посмотреть «а настоящий ли это разработчик», видит плотную сетку активности вместо пустого профиля.

Тот же приём — у аккаунта Quantumfirear из соседнего разбора: репозиторий lfwpwcnr с таким же log.txt, 129 коммитов с 1 января по 31 декабря 2026, из них 49 — в будущем. И создан он 19 июля 2026 в 21:03:21, то есть за 55 секунд до sbweqhui.

Что это доказывает

Два аккаунта, раздающие разные подделки — сборку с payload внутри general.bat и HideMyDiscord, — обслуживались одним скриптом в один вечер, с интервалом в минуту. Это уже не догадка по косвенным признакам, а совпадение по времени публикации с точностью до секунд. Заодно это третий известный способ накрутки истории: 12 131 коммит «Update README.md» за пять дней, ровные 66 звёзд на клонах и вот теперь — год ровной активности, включая ещё не наступившие месяцы.

Проверить любую такую историю можно за минуту, не заходя в интерфейс:

curl -s "https://api.github.com/repos/ВЛАДЕЛЕЦ/РЕПО/commits?per_page=100" | grep '"date"' | sort | tail -3

Если самая поздняя дата больше сегодняшней — история нарисована. Настоящий коммит из будущего сделать невозможно, зато проставить ему любую дату — одна переменная окружения.

Двойная упаковка: zip внутри zip

Скачанный HDS.zip весит 3 491 136 байт (SHA-256 08407e56658aeb04e486301a682ef3f9840c4d87241dc444b593fa974eba314a) и содержит ровно один файл — HideMyDiscord3.8.0.rar на 3 490 958 байт, уложенный без сжатия.

Внутренний архив запаролен и упакован RAR версии 7. Это важная деталь для тех, кто попробует разобрать его сам: 7-Zip формат распознаёт, показывает список файлов, но на распаковке выдаёт Unsupported Method : v6:8M:m3 — реализация нового алгоритма в нём отсутствует. Нужен официальный unrar с сайта RARLAB:

unrar x -p'HideMyDiscord!' HideMyDiscord3.8.0.rar

Получается двухслойная защита от автоматической проверки: внешний слой скрывает формат, внутренний закрыт паролем. Сканер, который берёт zip и смотрит внутрь, видит один непонятный файл и на этом останавливается.

Что внутри: настоящая сборка плюс один лишний файл

Распакованное содержимое — 52 файла: 21 вариант Method (*).bat со стратегиями, service.bat на 27 081 байт, папки lists и utils, привычная bin с драйвером WinDivert и заготовками пакетов. Скрипт диагностики utils/test zapret.ps1 побайтово совпадает с оригиналом Flowseal (SHA-256 f31ced24…) — то есть большая часть сборки честная.

Аномалия одна, и она видна невооружённым глазом в проводнике:

В папке bin два исполняемых файла: настоящий winws.exe на 199 КБ и StartWin.exe на 6065 КБ. Второго в оригинальной сборке нет вообще. Оба помечены значком контроля учётных записей — то есть требуют прав администратора.

Это ровно то нарушение, которое стоит первым пунктом в чек-листе: в чистой сборке Zapret ядро одно — winws.exe. Любой второй .exe рядом с ним — стоп-сигнал независимо от названия.

Как он запускается

Заглянем в любой стартовый скрипт, например Method general.bat. Строки 15 и 16:

start "HideMyDiscord: Obxod" /min "%BIN%StartWin.exe"
start "HideMyDiscord: Obxod" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% ...

Сначала запускается неизвестная программа, следом — настоящее ядро обхода с нормальными параметрами. Обе стартуют свёрнутыми (/min) и под одинаковым заголовком окна, так что визуально это выглядит как один процесс запуска.

Так устроен 21 файл из 23. Какую бы стратегию пользователь ни выбрал, StartWin.exe стартует всегда.

Почему такая схема опаснее прежних

В разобранных ранее подделках вроде сборки Quantumfirear вредоносный .bat вообще не запускал обход: пользователь получал малварь и неработающий Discord — и рано или поздно шёл разбираться. Здесь обход честно работает, потому что ядро на месте и стратегии не тронуты. Discord чинится, голос идёт, YouTube открывается — жалоб нет, сборку советуют друзьям, а фоновый процесс продолжает делать то, ради чего его положили. Работающий продукт — лучшая маскировка, чем любая обфускация.

Что делает StartWin.exe

Файл — PE32+ для 64-битной Windows, графическая подсистема, 9 секций, метка времени сборки обнулена. Написан на Go 1.26.5. Секция .data заявляет виртуальный размер 34 МБ при 313 КБ на диске, цифровой подписи нет.

Строк с адресами, доменами или IP в открытом виде в файле нет. Зато имена функций не обфусцированы — в отличие от полезных нагрузок из соседних разборов, где они были заменены случайными наборами букв. Имя модуля сборки — loader, и вот его функции:

ФункцияЧто делает по названию
main.httpClient, main.downloadFile, main.downloadOnceсетевой клиент и загрузка файла, однократно
main.decryptBlobрасшифровка скачанного блока данных
main.destPathвычисление пути, куда сохранить
main.launchPayloadзапуск полезной нагрузки
main.runExe, main.runBat, main.runTxtManifestисполнение — как программы, как batch-скрипта или по инструкции из текстового манифеста
main.shellExecute, main.openWithDefault, main.splitCmdзапуск через оболочку и разбор командной строки
main.acquireSingleInstance, main.releaseSingleInstanceблокировка, чтобы не запускалось несколько копий

Складывается однозначная схема: скачать по сети → расшифровать → положить на диск → запустить, причём способ запуска выбирается по тому, что пришло. Отдельная функция runTxtManifest означает, что оператор может прислать текстовый файл с инструкцией, что именно выполнить, — то есть набор действий меняется на стороне сервера, без обновления самой раздачи.

Инструмент такого класса не имеет отношения к обходу блокировок ни в каком виде. Ядро winws.exe работает полностью локально и никуда не ходит; всё, что нужно сборке из сети, — это обновление списков, и оно делается штатным service.bat без отдельного бинарника на 6 МБ.

Чего мы не знаем

Адрес, откуда StartWin.exe качает вторую ступень, не найден: строк с URL в файле нет, простая однобайтовая обфускация не подошла, а без запуска или расшифровки конфигурации адрес не извлекается. Поэтому здесь не утверждается, что именно загружается на компьютер — это может быть что угодно, и меняться оно может в любой момент. Утверждается ровно то, что видно: в сборке для обхода блокировок присутствует программа, скачивающая и запускающая произвольный код.

Пропатченное ядро: мелочь, которая ломает проверку по хэшу

Файл bin/winws.exe весит те же 203 776 байт, что и официальный, и это та же версия v72.9. Но SHA-256 у него другой: 78ef98383ba3007bcb47330519715168e908293d0bb573b5a4a8b292b9f94004 против affb4f69d2ea302a7abccd5325d81826e140ddae014f1e070bc4a6c0dd555188 у оригинала.

Побайтовое сравнение показывает: различаются 53 байта, все подряд, в одном месте файла. Вот что там было и что стало:

оригинал:      ...winws\0 c849e55ef0f1c244206f5a05ff7b1ab41a3824ee \0 v72.9 \0 github version %s (%s)
HideMyDiscord: ...winws\0 hidemydiscord.com \0\0\0...\0 v72.9 \0 HideMyDiscord. %s (%s)

Заменили строку с хэшем коммита, из которого собрано ядро, на адрес своего сайта, а надпись «github version» — на «HideMyDiscord». Ничего вредоносного этот патч не делает: он нужен, чтобы в окне запуска светилось имя раздачи, а не первоисточник.

Результат виден в первой же строке консоли при запуске сборки:

HideMyDiscord. v72.9 (hidemydiscord.com) — вместо github version v72.9 (c849e55ef0f1c244206f5a05ff7b1ab41a3824ee), которое печатает официальное ядро. Всё остальное в выводе настоящее: загружаются хостлисты, поднимается windivert, обход стартует. Заголовок окна — HideMyDiscord: Obxod, тот самый, под которым строкой раньше запустился StartWin.exe.

Как это выглядит для пользователя

Ровно так, как должно выглядеть работающее приложение: понятный лог, знакомые строки про хостлисты, «capture is started» в конце. Ничто в этом окне не намекает, что рядом уже запущен второй процесс. Единственная зацепка — имя в первой строке: у настоящей сборки там github version и хэш коммита, а не название чужого сайта.

Практическое следствие важнее мотива. Ядро больше не совпадает с официальным по хэшу, то есть сверка контрольных сумм с публикацией bol-van покажет расхождение — и это правильный сигнал: файл, который выдаёт себя за официальный winws.exe, был изменён посторонним. Заодно это присвоение чужой работы: ядро написал bol-van, а имя в нём стоит чужое.

Куда это ведёт: троян внутри самого ядра

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

Следующий шаг напрашивается сам. Сейчас вредоносная часть лежит отдельным файлом StartWin.exe рядом с ядром — её видно в проводнике, видно в списке процессов, видно в тексте .bat. Если вместо этого дописать нужное внутрь winws.exe, снаружи не изменится ничего: файл с тем же именем, того же порядка размера, в папке по-прежнему один исполняемый файл, стартовые скрипты чистые, обход работает. Все признаки из чек-листов перестают срабатывать разом.

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

Почему ядро нельзя проверить никак иначе

У официального winws.exe нет цифровой подписи: каталог сертификатов в файле пуст (проверено и для оригинала, и для версии из этой раздачи). Подписан только драйвер WinDivert64.sys — он обязан быть подписан, иначе Windows не загрузит его в ядро. Это значит, что Windows не сообщит о подмене winws.exe, антивирус не увидит нарушенной подписи, а «свойства файла» ничего не докажут. Единственный признак подлинности ядра — его контрольная сумма.

Отсюда практическая рекомендация, и она адресована не только пользователям:

  • Пользователю — брать сборку из официальных источников и сверять sha256sum bin/winws.exe с хэшем, опубликованным автором ядра; хэши известных версий собраны в разделе о хэшах.
  • Сборщикам — публиковать хэши ядра рядом со сборкой и собирать релизы через CI с открытым логом, чтобы происхождение файла можно было проследить, а не принимать на веру.

Это прогноз, а не наблюдение

Заражённого winws.exe — такого, где во внутренностях ядра появился бы посторонний код, — на 11 августа 2026 не задокументировано: во всех разобранных раздачах ядро либо не тронуто вовсе, либо изменено только в строках. Здесь описывается, куда логично движется приём, а не то, что уже произошло. Но барьер «мы правим чужой бинарник» уже взят, а от брендинга до полезной нагрузки — вопрос намерения, а не сложности.

Как проверить такую сборку самому

Ни один из шагов не требует запуска подозрительных файлов.

Посмотреть, что вообще внутри архива, не распаковывая:

unrar l -p'ПАРОЛЬ' архив.rar

Найти лишние исполняемые файлы — в чистой сборке Zapret ровно один winws.exe:

find . -iname "*.exe" -o -iname "*.dll" -o -iname "*.sys" | sort

Проверить, что запускают стартовые скрипты (в Windows — обычный «Блокнот», файл при этом не выполняется):

grep -n "^start" *.bat

Восстановить имя репозитория по ссылке на файл релиза, если сайт прячет источник:

curl -s https://api.github.com/repositories/ЧИСЛО_ИЗ_ССЫЛКИ | grep full_name

И главное — сверить ядро с официальным (это единственная проверка, которая переживёт следующее поколение подделок):

sha256sum bin/winws.exe

Для сборки HideMyDiscord 3.8.0 команда даёт 78ef98383ba3007bcb47330519715168e908293d0bb573b5a4a8b292b9f94004, тогда как официальное ядро версии v72.9 — affb4f69d2ea302a7abccd5325d81826e140ddae014f1e070bc4a6c0dd555188. Не сошлось — значит файл трогали, и неважно, ради надписи в консоли или ради чего-то ещё.

Что делать, если запускали

  • Отключите интернет и завершите процессы StartWin.exe и winws.exe через диспетчер задач.
  • Удалите папку со сборкой целиком; скачайте обход заново из официальных источников.
  • Проверьте систему сторонним антивирусом и посмотрите автозагрузку и планировщик задач — загрузчик, отработавший один раз, мог оставить в системе что угодно.
  • Смените пароли с чистого устройства и завершите активные сессии в Discord, Telegram и почте: подробный порядок — в разделе «Что делать, если запустил» разбора сети клонов.
  • Учтите, что рабочий Discord после запуска этой сборки не означает, что всё в порядке: обход и загрузчик — разные процессы.

📚 См. также


🤖 Эти статьи открыты — можно обучать на них ИИ

При желании вы можете натренировать ИИ на наших статьях. Исходное форматирование доступно в Forgejo: исходник этой заметки · скачать весь репозиторий одним zip-архивом.