Можно ли загружать файлы тем Windows (aero.msstyles) со шпионскими программами в свои ресурсы, особенно в сценарии пользовательского интерфейса
Короткая версия: см. Тему
Подробная версия:
Я хочу использовать конкретную стороннюю тему для Windows. Я уже использую решение с открытым исходным кодом, которое я скомпилировал самостоятельно, чтобы отключить ограничение Window на Темы.
В прошлом при использовании сторонних модов, связанных с темами, которые поставлялись с библиотеками DLL (например, authui.dll для пользовательского интерфейса входа в систему или imageres.dll для изменения системных значков), я избегал использования неизвестных библиотек DLL, просто копируя ресурсы, связанные с неизвестной библиотекой DLL. (например, растровые изображения, группы значков или сценарии пользовательского интерфейса) для его девственного аналога MS Dll. Я называю это прививкой ресурса, когда ресурс изменяется, но исполняемые элементы DLL или exe-файлов остаются одни.
Возвращаясь к теме, которую я хочу установить, я использовал хеширование sha256, чтобы определить, что только aero.msstyles, который также может быть изменен хакером ресурсов. Поэтому я сделал то же самое, что и обычно, и перенес ресурсы из сторонней темы в собственные окна aero.msstyles. Проблема в том, что я столкнулся с типом ресурса, который я не могу прочитать или узнать о содержимом. Это называется VARIANT. Из некоторых экспериментов, проведенных на виртуальной машине, кажется, что это какой-то двоичный сценарий пользовательского интерфейса, который хакер ресурсов не может декомпилировать. Мне обычно нравится читать любые сценарии пользовательского интерфейса, которые я передаю, но я не могу сделать это с этим.
Будет ли это представлять реальную угрозу безопасности? Можно ли загружать скрипты пользовательского интерфейса с помощью какого-либо эксплойта? Это кажется мне маловероятным, поскольку функция файла темы (msstyle) заключается в координации внешнего вида системного интерфейса, но я не знаю достаточно о внутренней работе всей системы тем, чтобы быть уверенным. Я думал, что получу другую точку зрения, прежде чем вынуть тему из виртуальной машины.
1 ответ
Я использовал vBinDiff для сравнения шестнадцатеричного кода измененного двоичного файла VARIANT/NORMAL с исходной темой. Вы также можете скопировать binhexes и сохранить их в два текстовых файла, которые вы бы сравнили с WinMerge.
vBinDiff и WinMerge подскажут, какие изменения и какие дополнения / подстановки были внесены в двоичные файлы, отображая их рядом. Я прочитал различия, 90% из них были не более 4 восьмеричных (4 байта), как правило, что вы ожидаете увидеть при изменении цвета с помощью шестнадцатеричного редактора. Самое большое расхождение было добавлено 32 байта кода.
Есть два возможных объяснения такого дополнения: (1) автор добавил дополнительные ресурсы изображения и добавил записи, необходимые для ссылки на них, (2) есть какой-то нежелательный код, который был добавлен.
Чтобы рассмотреть возможность 2, я сделал поиск, чтобы увидеть, как маленький троянский код может получить. Насколько вероятно, что троян был вставлен в 32 байта, если скомпилированные скрипты пользовательского интерфейса? Я нашел несколько упоминаний о старом 17-байтовом вирусе из эры DOS, который называется тривиальным, и я сразу же отказался от него, потому что он станет очевидным очень быстро, учитывая его известное поведение. Что касается полноценных троянов с бэкдором и способностями к загрузке, то я обнаружил, что в 2012 году был обнаружен наименьший 20 КБ (троянский тинба). Существует также Catchy32, который до сих пор считается трояном, но с более простыми и весьма специфичными функциями, и его объем составляет около 580 байт. ( ссылка). Основываясь на этой информации, я установил, что весьма маловероятно (если не невозможно) подсунуть какой-либо код в 32 байтах кода, и установил, что рассматриваемый ресурс является чистым.
Имейте в виду, это не отвечает на вопрос, который я задал (могут ли двоичные ресурсы сценариев пользовательского интерфейса в теме содержать некорректный код), но это решает мою дилемму. Думал, что поделюсь этим.