Blog. Just Blog

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

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Темная сторона Силы | Автор: ManHunter
Установка 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 "Сделать домашней страницей" и текст-ссылку на лицензионное соглашение. У checkbox'а надо убрать атрибуты "Visible", "Tab Stop" и установить атрибут "Disabled". Кроме этого надо обязательно поменять ID элемента на какой-нибудь заведомо несуществующий, иначе по этому ID инсталлятор поставит галочку даже на скрытый элемент формы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кстати, не все знают, что Punto Switcher можно использовать в качестве кейлоггера, на который никогда не будут ругаться антивирусы. Для этого достаточно установить на компьютере жертвы Punto Switcher, включить функцию дневника и защитить ее паролем, а затем в настройках дневника убрать галочку "не сохранять записи короче 2 слов". Вот и все, пользователь получает удобную программу для переключения раскладки, а вы получаете все его пароли и переписку. При следующем визите к жертве просто скопируйте себе файл дневника diary.dat и изучите его на своем компьютере.

Поделиться ссылкой ВКонтакте
Просмотров: 27882 | Комментариев: 42

Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
Andrews32 (13.05.2015 в 12:22):
Не стал париться с полным излечением от логотипов и т.д. Почистил основное, мне хватит - работает! Автору спасибо, яндексоиды за мной больше не следят))
Рома (14.07.2013 в 21:08):
ManHunter, спасибо  с настройками разобрался, через указанную директорию.
ManHunter (14.07.2013 в 12:59):
При чем тут отладчик? Можно поискать в файле обращения к ключу настроек DontShowTrayIcon, посмотреть каким дефолтным значением он инициализируется, поменять это значение на нужное. Только мне это неинтересно, я малварой не занимаюсь.
Рома (14.07.2013 в 12:51):
ManHunter, А через отладчик можно подправить?
ManHunter (13.07.2013 в 22:44):
Настройки хранятся в файлике preferences.xml, который на Win7 у меня лежит тут:
%USERPROFILE%\Application Data\Yandex\Punto Switcher\User Data\
Подготавливаешь настройки, затем в инсталяторе говоришь записать этот файл в нужную папку. Только RarSFX тут не отделаться, придется применять инсталлятор посерьезнее.
Рома (13.07.2013 в 22:18):
ManHunter, как можно убрать или активировать во время первой установке галочку " не показывать на панели задач " т.е. в трее, чтобы окошко не вылезало. Ну после этого, естественно, можно было зайти в настройки программы.
ManHunter (04.12.2012 в 22:00):
Из всех манипуляций - упаковка в RarSFX. Остальное, видимо, задачи для не твоего уровня знаний.
TEKTON (04.12.2012 в 21:35):
Если честно, столько манипуляций...
Быстрее будет пересобрать в Инно Сетап :)
VasyoK (08.12.2011 в 14:35):
Спасибо большое!
ManHunter (02.11.2011 в 22:37):
Если не хватает знаний ковыряться в реестре, то берешь какой-нибудь Uninstall Tool, WinTools или чо-нибудь в этом роде и удаляешь Punto из списка.
kiberpank (02.11.2011 в 22:26):
А как можно скрыть уже установленную программу PuntoSw в списке установленных программ в Панель управления\Программы\Программы и компоненты на Windows 7
Celsus (19.10.2011 в 13:11):
Правильная установка PuntoSwitcher 3.2
1. Надо переименовать инсталлятор в имяинсталлятора.rar
2. Распаковать архив
3. Создать папку Data - в нее поместить файлы с расширением .dat
4. Создать папку Sounds - в нее поместить файлы с расширением .wav
5. Удалить файлы, которые начинаются на игрек "y" ;)
mnogo (19.06.2011 в 22:30):
Спасибо автору за труд. Обязательно сохраню эту инструкцию по пересборке инсталлятора -пригодится.
Что касается "ps": существует способ проще.
PS (спасибо изначальным создателям) работает и без инсталляции.
Распаковываешь инсталлятор как обычный архив в любую папку, удаляешь ненужные файлы. (yapack*,yupdate* -не нужны точно, остальные -по Вашему желанию).
Запускаешь -работает. (В т.ч. с флэшки).
Old Liquid (30.11.2010 в 10:23):
Эхх, вот бы ещё убрать оттуда папку установки (чтобы тоже была Пуск/программы/Punto Switcher) - не подскажете какой текст искать в hex и что конкретно можно предпринять?

ЗЫ почему-то после установки с установленной галочкой сам не запускается. А так работает.

ЗЗЫ WinHEX кал. Его нужно ещё найти норм. версию с плагинами и подсветкой, и выводом дизассемблерного листинга Он голый хуже блокнота. Перепробовал штук 5 редакторов... Делайте проще - качаете FlexHex и в нем запускаете мультипоиск по UTF тексту Yandex, смотрите какая из строк подходит под скриншот из статьи, после чего клавишей Del заполняете слово Yandex нулями.
ManHunter (25.10.2010 в 22:53):
Я ничего не выкладываю, a все мои сборки дальше моего компа не распространяются.
olgaa (25.10.2010 в 22:38):
дааааааааааааа уж!!!!!!! Я просто в шоке от Человека Хантера.... Я ,конечно,попробовала скачать этот облегченный переключатель,но меня смутило следующее-почему просят и адрес и все пароли и от ящика и от форума ? Зачем ? я,знаете ли совсем в этом не разбираюсь...
Коля-Николай (20.10.2010 в 11:28):
Хорошая статья, но я остановился на последней оригинальной версии Punto Switcher 2.9.0.0 - последняя чистая версия до покупки программы Яндексом (каких-либо значительных изменений в самой программе не обнаружено)
качать отсюда: _http://exfile.ru/download/131392
весит всего 300КБ! против 3,5 МБ - столько весит последняя версия пунто с Яндексом
PS вот еще интересное по теме))
_http://forum.ixbt.com/topic.cgi?id=15:66130
ManHunter (07.10.2010 в 00:08):
Это надо где-то в реестре ковыряться, потом экспортировать ключи настроек в .reg-файл и вносить его в реестр при инсталляции. Как-то так. И то при условии, что инсталлятор сам не будет их прописывать, иначе работа станет на порядок сложнее, т.к. придется серьезно углубляться в файл инсталлятора. Имхо, овчинка выделки не стоит.
Анатолий (06.10.2010 в 22:45):
умно, так-то.
А ответ на второй вопрос, по поводу галочек "сохр днев" и "не обновл"?
ManHunter (06.10.2010 в 13:01):
Я ничего не выкладываю, только делюсь знаниями. Каждый будет делать или не делать все описанное исключительно под свою ответственность, в т.ч. ст.№273 УК РФ
Анатолий (06.10.2010 в 12:58):
Супер. Вы бы ещё выложили то что получилось.
И подскажите пожалуйста как сделать чтобы после установки не стояли галочки "обновляться" и стояли галочки дневника?
ManHunter (03.09.2010 в 14:38):
Nina, современные технологии пока не дошли до того, чтобы люди попадали внутрь программ. Вы смотрите слишком много "Футурамы".
Nina (03.09.2010 в 14:24):
Здравствуйте!!!!!! А как в этот   PuntoSwitcher вообще попасть??
Sergey_K (13.04.2010 в 00:21):
Спасибо!
Miha (25.01.2010 в 16:36):
А если забыл пароль от дневника, то есть ли способы его восстановить ?
ManHunter (18.01.2010 в 11:23):
Зачем? Мне от тебя ничего не надо.
Стас (18.01.2010 в 11:23):
ManHunter, свяжись со мной плиз по скайпу [del] или аське [del]
Isidor (02.06.2009 в 16:44):
Раз честно купленный тогда и вопрос снимается, а на руборде лежит как-то странно поломанный – в эбауте триала не кажет, но и дополнительных кнопок тоже.
ManHunter (02.06.2009 в 12:01):
Isidor, у меня Actual Title Buttons честно купленный, а вылеченный ищи на руборде.
Voytenco (31.05.2009 в 07:33):
Спасибо!
Пересобрал быстрее чем прочитал.
Без дневника весит при обычном сжатии 678 килобайт.
Последний последний штрих не получился.
Не умею работать с Hiew.Буду исправлять путь вручную при каждой установке.
VOVKA (31.05.2009 в 02:57):
Isidor, рубордишь значит плохо...
ManHunter, от 417A8E и до 417AA0 помогло говорят, спасибо
Isidor (30.05.2009 в 14:04):
ManHunter, извини, что я в этой теме опять о своем. А где можно раздобыть леченный Actual Title Buttons? Что-то не нагуглить не нарубордить ничего работающего не удалось.
ManHunter (29.05.2009 в 18:36):
VOVKA, чтобы убрать менюшки из последней версии надо заNOPить весь код с адреса 417A8E до 417AA0, там как раз и добавляется этот пункт в меню. Место отлавливается по реферу на юникодную строку "Найти"
lover (29.05.2009 в 18:02):
Спасибо за ссылку - интересная .....
надо в закладки занести ...
И всё таки от Вашей пересборки не откажусь , если можно .....
Ваш сайт очень интересный , закладка на ленты новостей - на видном месте , захожу постоянно , но очень много обьясняется на специфичном для меня языке , зато нравится раздел кулинарии - там всё просто ОБАЛДЕННО !!!!
Сегодня даже специально съездила в город и купила всё для окрошки , так слюнки потекли ....
lover (29.05.2009 в 17:56):
Просто для меня это темный лес , а программа хорошая , пользуюсь , но постоянно ( с выходом новой версии) удаляю руками из программ файлов лишние файлики .... а тут будет крохотулечка-незаменюсечка-программка.... если не сложно можно выслать ее на мыло мне , даже если она будет и под вашим авторством , или как там делают я не знаю , страшного ничего не произойдет ! Обещаю , что эта программа будет использоваться ТОЛЬКО на моем компе и ноуте !!!
Вот адрес , куда можно послать Вашу сборку [del]
Больное спасибо , за Ваш труд и понимание ....
ManHunter (29.05.2009 в 17:54):
Готовые сборки лучше спрашивать не здесь.
http://forum.ru-board.com/topi...opic=25346#1
Дневник тоже можно вырезать, заменяешь в архиве файлы на пустышки и все.
lover (29.05.2009 в 17:40):
А можно выложить куда нибудь такой дистрибутив на 800 кило ? :oops:
а можно оттуда ещё и дневник этот тоже вырезать , чтоб осталась ТОЛЬКО функция переключения и всё ? ;)
ManHunter (29.05.2009 в 14:15):
Проверил, вроде как пофиксили. По крайней мере после удаления ключей пунты из реестра пароль на дневнике остался на месте. Только теперь он живет в реестре по пути
HKEY_CURRENT_USER\Software\Yandex\Punto Switcher
Nutscracker (29.05.2009 в 13:52):
Кстати, у них там баг с запароливанием diary.dat - по крайней мере, в старых версиях (я пользуюсь самой новой версией без поиска по яндексу и прочей лабуды - все равно не включаю автоматику):
убиваем в реестре
HKEY_CURRENT_USER\Software\Punto Switcher
и запускаем
Punto Switcher\dview.exe

Так что база, увы, не шифруется ни разу. =/

В заяндексбаренных версиях это не пофиксили?
ManHunter (29.05.2009 в 12:57):
Isidor, это программа Actual Title Buttons
VOVKA, ты имеешь в виду менюшку "Найти..."?
Isidor (29.05.2009 в 12:11):
Извините за вопрос не по теме, на скринах вверху окон, рядом со значком закрытия окна есть значок «поверх всех окон» интересует какая программа его добавляет?
VOVKA (29.05.2009 в 10:54):
А менюшки яндекса из самой программы можно убрать?

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.07 сек. / MySQL: 2 (0.0044 сек.) / Память: 4.5 Mb
Наверх