Следующая новость
Предыдущая новость

Ломаем инсталлятор. Как обмануть инсталлятор MSI методом для ленивых

07.09.2020 13:12

Как гласит народная мудрость, театр начинается с вешалки, а программа — с инсталляции. Но что делать, если инсталлятор не желает запускаться или, хуже того, не хочет устанавливать приложение? Любой читатель «Хакера» уверенно скажет: ломать! И будет прав. Сегодня мы поговорим о том, как сделать это просто, быстро и без лишних усилий.

Здравствуйте, мои юные ленивые друзья. Признайтесь честно: основная причина, по которой вы читаете этот текст, — желание научиться ломать программы форсированным методом, минуя муторную и скучную стадию освоения матчасти и всевозможных мануалов? Не нужно этого стесняться, и пусть кто-нибудь скажет, что в этом есть что-то плохое. Я и сам такой, всегда стараюсь решать задачу наиболее простым и интуитивным методом. Ибо нельзя объять необъятное, а предварительное штудирование теории (которой по каким-то вопросам вообще может не оказаться в свободном доступе) вполне способно сделать срочную задачу неактуальной. Поэтому я стараюсь следовать совету старого английского философа: сперва всегда старайся делать все наиболее простым путем, а уж если не получается — начинай грызть мануалы.

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

Раз уж мы уже собрались идти по пути наименьшего сопротивления, то перво-наперво я открыл установочный пакет (самодостаточный модуль .exe) даже не в дизассемблере, а просто в Hex-редакторе, чисто поинтересоваться наличием текста сообщения об ошибке. При этом сильно не расстроился, не найдя этой строки (и вообще никаких строк сопутствующих сообщений) ни в юникодном, ни в обычном виде.

Ну что ж, не очень-то и хотелось, зато попутно краем глаза я заприметил ресурс [0] с характерной сигнатурой InstallShield. В принципе, разбор пакетов InstallShield — распространенная задача, и решение ее хоть по понятным причинам и не документировано, но при желании находится поиском по специальным форумам. Я, возможно, запилю об этом другую статью, но в данном случае мы условились, что курение мануалов не наш метод.

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

1 год

7690 р.

1 месяц

720 р.

Я уже участник «Xakep.ru»

Источник

Последние новости