Здравствуйте, мои юные ленивые друзья. Признайтесь честно: основная причина, по которой вы читаете этот текст, — желание научиться ломать программы форсированным методом, минуя муторную и скучную стадию освоения матчасти и всевозможных мануалов? Не нужно этого стесняться, и пусть кто-нибудь скажет, что в этом есть что-то плохое. Я и сам такой, всегда стараюсь решать задачу наиболее простым и интуитивным методом. Ибо нельзя объять необъятное, а предварительное штудирование теории (которой по каким-то вопросам вообще может не оказаться в свободном доступе) вполне способно сделать срочную задачу неактуальной. Поэтому я стараюсь следовать совету старого английского философа: сперва всегда старайся делать все наиболее простым путем, а уж если не получается — начинай грызть мануалы.
Попробую объяснить этот принцип на примере правки одного инсталляционного пакета. На днях меня попросили поковырять одну старую программу. Программа давным-давно была куплена совершенно официально и служила верой и правдой, пока не пришлось ее переустанавливать. При переустановке выяснилось, что, во-первых, она не устанавливается на современные версии Windows, а во-вторых, все имеющиеся серийные номера подходят, за исключением одного — лицензионного кода к небольшой вспомогательной библиотеке, без установки которой программа отказывается нормально функционировать. Поскольку за давностью лет связаться с разработчиком не представляется возможным, я решил поковырять установщик, чтобы разобраться, какого рожна ему надо для нормальной инсталляции.
Раз уж мы собрались идти по пути наименьшего сопротивления, то перво-наперво я открыл установочный пакет (самодостаточный модуль .exe) даже не в дизассемблере, а просто в Hex-редакторе, чисто поинтересоваться наличием текста сообщения об ошибке. При этом сильно не расстроился, не найдя этой строки (и вообще никаких строк сопутствующих сообщений) ни в юникодном, ни в обычном виде.
Ну что ж, не очень-то и хотелось, зато попутно краем глаза я заприметил ресурс [0]
с характерной сигнатурой InstallShield
. В принципе, разбор пакетов InstallShield — распространенная задача, и решение ее хоть по понятным причинам и не документировано, но при желании находится поиском по специальным форумам. Я, возможно, запилю об этом другую статью, но в данном случае мы условились, что курение мануалов не наш метод.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»