May 17, 2025

Дело о Неприступном "MoonSec"

Полагаю, господа, пришло время пролить свет на истоки этого... предприятия. Мое пристальное внимание к данной проблеме было продиктовано не праздным любопытством, а скорее естественным стремлением к ясности. Когда я впервые решил, скажем так, 'ознакомиться' с некоторыми программными модификациями, меня категорически не устроило то обстоятельство, что я был вынужден исполнять код, суть которого оставалась для меня непроницаемой загадкой. Примечательно, что исходные коды его предшественника, второй версии, были, насколько мне известно, в какой-то момент преданы гласности, однако третья версия остаётся настоящим "черным ящиком".

Объектом моего расследования стал небезызвестный MoonSec v3, – обфускатор, снискавший репутацию неприступной цитадели, чей внутренний механизм, по общему мнению, не поддавался вскрытию. Примечательно, что исходные коды его предшественника, второй версии, были, насколько мне известно, в какой-то момент преданы гласности, однако третья версия остаётся настоящим "черным ящиком".

На момент написания статьи я уже нашел слив огромного количества обфускаторов но их предстоит разбирать и анализировать тоже, сейчас не могу этим заняться. И не только, я ещё нашел кучу деобфускаторов которые предстоит тестить и проверять.

Должен отметить, что в определенных кругах, особенно на так называемом 'devforum', бытует весьма категоричное суждение: дешифровка кода, прошедшего обработку MoonSec, – задача из разряда невыполнимых. 'Невозможно!' – таков вердикт, который мне доводилось слышать неоднократно.

Необходимо отметить, что в сообществе, особенно на платформах вроде 'devforum', бытует весьма устойчивое и категоричное мнение: попытки дешифровки кода, прошедшего обработку MoonSec, обречены на провал. 'Это невозможно!' – таков лейтмотив многочисленных дискуссий, с которыми мне доводилось сталкиваться. И, должен признать, при первом взгляде на то, во что MoonSec преобразует вполне удобочитаемый программный код, подобные утверждения не кажутся лишенными оснований.

(Паша, стучит тыльной стороной тощей ладони по листу с загадочномым набором символов)

меня забавляет что тут иногда можно видеть слова типа hax, nya, hya и mryaa, шизофренический припадок мёртвой собаки блять.......

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


Этап первый: Поиски святого Грааля

Паша, поправив воображаемый охотничий берет и задумчиво держа трубку:

"Мой аналитический ум немедленно обратился к GitHub. Там, после методичного отсева, я обнаружил некую Python-утилиту, предназначенную, по заверениям её малоизвестных создателей, для деобфускации любого скрипта. Однако, при первой же попытке запустить сие творение, меня ждало разочарование: утилита была безнадежно испорчена, изобилуя синтаксическими ошибками, и совершенно неработоспособна."

Этап второй: Воскрешение мёртвой змеи

(Паша, с легким вздохом, словно описывая кропотливую реставрацию древнего манускрипта):

"Столкнувшись с этим, гм, питоновским недоразумением, я счел необходимым предпринять попытку его реанимации. Фрагмент за фрагментом, эти неисправные участки кода подвергались анализу и коррекции искуственного интеллекта (также известный как "DeepSeek"). После серии методичных итераций, числом около десятка, механизм, к моему сдержанному удовлетворению, ожил. Итак - после обработки утилитой - та первоначальная, откровенно хаотичная, структура кода, начала обретать некие подобия осмысленности. Однако, увы, результат все еще был далек от идеала. Он изобиловал избыточными переменными, строками, лишенными явного назначения, и посторонними вкраплениями кода, которые лишь затрудняли анализ, не неся полезной функциональной нагрузки. Мои ожидания, признаться, не были оправданы в полной мере."

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

"Неудовлетворенный достигнутым, я продолжил свои изыскания, обратившись к менее очевидным источникам. Мой путь лежал в самые темные уголки цифрового пространства, на те ветхие, давно покинутые форумы, где, казалось, время остановилось десятилетия назад. В этих виртуальных руинах, где полтора анонимных энтузиаста все еще могли обсуждать теории заговора, и таилась необходимая мне крупица информации.
Именно там, среди пыльных архивов этих мертвых площадок, я наткнулся на упоминание метода, известного как 'дампинг'. Суть его сравнима с работой патологоанатома, если упростить, она заключается в извлечении внутренних компонентов чего-то более сложного в целях изучения. На просторах Roblox, как выяснилось, существовало специализированное 'место' – называемое 'Hidden Dump'. Принцип его действия был обманчиво прост: обфусцированный код загружался в эту систему, подвергался внутреннему анализу, и на выходе предоставлялся структурированный массив строк. Подчеркну, не сам исполняемый код, а именно его строковые константы и иные атомарные элементы, огромной вложенности массив с хаотично разбросанными по нему данными. Количество этих строк могло достигать десятков тысяч, представляя собой весьма внушительный объем данных, однако ключевым было то, что они были упорядочены и относительно читаемым."

Этап четвертый: Неожиданная синергия

(Паша, с легкой, почти незаметной улыбкой, словно детектив, увидевший, как разрозненные улики наконец-то складываются в единую картину):

"Именно в тот момент, когда я созерцал этот, казалось бы, бессмысленный, но все же структурированный массив строк, мой разум, следуя законам дедукции, пришел к неожиданному, но логичному умозаключению. Мысль, на первый взгляд, могла показаться до абсурдного простой, даже наивной. Что, если этот колоссальный дамп строковых данных, пропустить через ранее мной 'воскрешенной' и частично исправленной утилите? Признаться, изначально я отнесся к этой идее с изрядной долей скепсиса, оценивая шансы на успех как минимальные.
Однако, когда я претворил эту мысль в действие, загрузив упомянутый 'дамп строк' в механизм деобфускации... результат превзошел мои самые смелые ожидания! Результат, должен признать, произвел на меня глубокое впечатление. На этот раз начало проступать нечто осмысленное! Это уже не была та бесформенная 'каша', с которой я имел дело ранее. Нет, теперь это была, если можно так выразиться, 'каша' с отчетливыми намеками на логическую организацию. Я начал различать контуры функций, прослеживать именованные переменные, видеть передаваемые параметры – все те элементы, что составляют основу любого понятного программного кода, постепенно начали проявляться, словно изображение на фотографической пластине."

Этап пятый: Последний штрих

Паша, с удовлетворением откидываясь в кресле и затягиваясь трубкой, его взгляд устремлен в окно, на улицу, где уже наступает рассвет):

"На данном этапе, господа, передо мной предстал массив данных, который, несомненно, уже поддавался ручной реконструкции. Однако, признаюсь, силы мои были на исходе, а временные затраты на столь кропотливую работу представлялись чрезмерными. Посему, я счел целесообразным вновь прибегнуть к услугам своего электронного ассистента, моя директива была проста и предельно ясна: 'Воссоздать примерную, первоначальную функциональность, какой она была до вмешательства обфускатора.'
И, к моему нескрываемому удивлению, это сработало! Сработало безупречно, во многом благодаря тому, что предварительно были устранены те 'тонны', извольте выразиться, мусорного кода и всевозможных ловушек, лишь загромождавших структуру и затруднявших анализ.
То, что открылось моему взору после этого финального штриха, было сродни разоблачению целой преступной схемы. Я увидел всю ту неприглядную изнанку, все те ухищрения, на которые идут разработчики подобных скриптов ради сиюминутной выгоды, паразитируя на пользователях Roblox. Передо мной предстали запросы к загадочным API и библиотекам, я смог увидеть структуру HTTP-запросов, которые беззастенчиво собирали данные о моем игровом аккаунте, текущей сессии и всю общедоступную информацию профиля. Все это, как выяснилось, беспрепятственно отправлялось посредством вебхука в Discord, где злоумышленники даже не поленились добавить в сообщение кнопку 'Присоединиться к игре' – вопиющая наглость! Это было все равно что обнаружить тайное логово преступника и воочию узреть все его планы, методы, трофеи и свидетельства его деяний."

Эпилог

"Итак, тот самый скрипт, который изначально и послужил катализатором моего расследования, после долгой и тщательной обработки оказался не чем иным, как банальным валидатором. При его активации, как и следовало ожидать, в интерфейсе Roblox появлялось окно, требующее ввода некоего ключа. Разумеется, сопровождалось все это ссылками на небезызвестный Linkvertise и их канал в Discord – стандартная схема монетизации.
Однако, вооружившись опытом и знаниями, я решил внести определенные коррективы. Мной были сделаны изменения, благодаря которым требуемый ключ оказывался 'введенным' изначально, а вся та информация, которую данный эксплоит собирает – данные об аккаунте и прочие сведения, – направлялась не по первоначальному адресу, то есть не на сервер этих предприимчивых дельцов, а прямиком на мой собственный, контролируемый сервер. Таким образом, система, призванная эксплуатировать данные пользователя... была полностью нейтрализована"
Имя бота и текст эмбеда задается телом запроса)