Пересборка инсталлятора Punto Switcher


Установка Punto Switcher

Программа Punto Switcher - это автоматический переключатель русской и английской раскладок клавиатуры. Когда вы забываете переключить раскладку с русской на английскую и наоборот, то вместо "Windows" получается "Цштвщцы", а вместо "молоко" - "vjkjrj". Punto Switcher это исправит - раскладка будет переключаться автоматически. Сама программа исключительно полезная, но после покупки ее Яндексом, в дистрибутиве стало слишком много чужеродного. Сам дистрибутив потяжелел почти до 3 мегабайт, в процессе инсталляции навязчиво предлагает сделать Яндекс домашней страницей, установить Яндекс.Трояна и вообще весь стал ходячей рекламой. Это плохо, значит будем исправлять все недоработки авторов.

Сперва надо распаковать дистрибутив и извлечь из него все файлы. Это можно сделать WinRAR'ом, так как файл дистрибутива представляет собой обычный архив CAB-SFX. В старых версиях Punto Switcher был RAR-SFX, который извлекал файлы во временную папку и запускал инсталлятор setup.exe. Ситуация особо не изменилась, и в новых версиях файл setup.exe тоже присутствует. Сперва проведем чистку дистрибутива. Сразу же удаляем двухмегабайтный инсталлятор Яндекс.Трояна YandexPackSetup.exe. Затем нужно заменить пустыми файлами с нулевым размером следующие файлы: license.rtf, рекламную страницу WelcomeToPunto.html и папку с картинками к ней Images. Если не планируете автоматическое обновление, то также замените пустышками все файлы в папке Updater. Просто стереть эти файлы нельзя, так как инсталлятор выдаст ошибку если не найдет хотя бы один из них. Проверяем работоспособность инсталлятора, запустив setup.exe из распакованного и зачищенного дистрибутива. Если все сделано правильно, то установка пройдет без ошибок.

Переходим к очистке самого инсталлятора. Для этого нам понадобится программа для работы с ресурсами, лично я предпочитаю eXeScope. Сперва удалим навязчивый рекламный логотип из инсталлятора.


Замена картинки с логотипом

Сделаем в любом графическом редакторе чистую картинку с белым фоном размером 164х314 пикселов и сохраним в формате BMP. Затем в eXescope откроем в секции ресурсов группу картинок и заменим картинку с чужеродным логотипом на нашу чистую. Сохраним изменения. Не забывайте после каждого изменения делать резервные копии инсталлятора и проверять его работоспособность. Переходим к диалоговым окнам.


Установка атрибутов checkbox'а

В первом диалоговом окне надо скрыть checkbox "Сделать домашней страницей" и текст-ссылку на лицензионное соглашение. У checkbox'а надо убрать атрибуты "Visible", "Tab Stop" и установить атрибут "Disabled". Кроме этого надо обязательно поменять ID элемента на какой-нибудь заведомо несуществующий, иначе по этому ID инсталлятор поставит галочку даже на скрытый элемент формы.


Установка атрибутов текстовой строки

У текстовых строк идентификатор менять не надо, достаточно убрать атрибуты "Visible", "Tab Stop" и установить атрибут "Disabled". Сохраняем изменения, проверяем инсталлятор. После этих изменений он уже приобретает приятный вид.


Установка атрибутов checkbox'а

У последнего окна надо обработать checkbox'ы "Установить Яндекс.Троян для вашего браузера", "Узнать больше о возможностях Punto Switcher" и текстовые строки "Дополнительно" и "Вы принимаете лицензионное соглашение". Оба checkbox'а заменяются с подменой ID, текстовые строчки просто прячутся. Сохраняем изменения, проверяем инсталлятор. Красота да и только, ничего лишнего!

Остался последний штрих. По умолчанию в путь установки программы подставляется совершенно лишняя строка "Yandex", лишняя потому что Punto Switcher должен ставиться просто в свою папку %programfiles%\Punto Switcher. Можно исправлять путь вручную при каждой установке, но лучше будет сразу формировать правильный путь. Бинарным поиском по файлу сигнатуры "Yandex" находится строка в юникоде, на которую ссылается такой интересный код:


Формирование пути установки

Вызывается функция PathAppend, дописывающая строку к сформированному пути. Чтобы сделать ненужную строку пустой, достаточно ее первый символ заменить на нулевой байт:


Обнуляем ненужную строку

Вот что получается после всех манипуляций с инсталлятором:


Очищенный инсталлятор Punto Switcher

Последняя проверка установки и можно собирать обновленный дистрибутив. Удобнее всего воспользоваться WInRAR'ом, создав в нем SFX-архив.


Настройки SFX-архива

В настройках SFX прописываем выполнить после распаковки setup.exe, распаковывать файлы во временную папку и не показывать никаких окон в процессе распаковки. Иконку можно взять от оригинального дистрибутива, сохранив ее программой eXeScope. С максимальным сжатием размер нового дистрибутива у меня получился чуть больше 800 килобайт, то есть почти в четыре раза меньше исходного. К тому же теперь он не содержит ничего лишнего.


Punto Switcher в качестве кейлоггера

Кстати, не все знают, что Punto Switcher можно использовать в качестве кейлоггера, на который никогда не будут ругаться антивирусы. Для этого достаточно установить на компьютере жертвы Punto Switcher, включить функцию дневника и защитить ее паролем, а затем в настройках дневника убрать галочку "не сохранять записи короче 2 слов". Вот и все, пользователь получает удобную программу для переключения раскладки, а вы получаете все его пароли и переписку. При следующем визите к жертве просто скопируйте себе файл дневника diary.dat и изучите его на своем компьютере.
Теги:
защита, взлом, инсталлятор, Punto Switcher
Добавлено: 21 Сентября 2013 06:13:45 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...