|
*** |
Вездесущий EXEРуслан РИЗВАНОВ И вправду, игры, серьезные (и не очень) программы, так сказать, используют этот формат и без него обойтись не могут. Попробуйте-ка запустить программу под Windows, у которой нет EXE-файла — нонсенс. Это во многих случаях, по сути дела, может означать, что нет и самой программы. Сколько уже говорилось о многочисленным графических, звуковых форматах, а о том, в каком формате содержатся данные в файле с расширением .exe, — ни слова. И поэтому просто так, не корысти ради, я полез в Сеть, чтобы узнать побольше о том, с чем каждый день приходится работать. И теперь хочу поделиться полученными сведениями с Вами, многоуважаемые читатели. Честно скажу, я не системный программист и не писатель вирусов, чтобы знать все о содержимом этих файлов, поэтому в моем материале вы не найдете детальной спецификации EXE (PE), а лишь только описание темы с точки зрения пользователя, максимум — прикладного программиста. Несмотря на то, что файлы имеют
расширение .exe, данные, хранящиеся в них,
могут быть представлены в структуре
различных форматов. Один из таких форматов
называется PE — Portable Executable (переносимый
исполняемый). Изначально он появился в ОС Windows NT,
а затем перекочевал и в Windows 9x.
Выполнен он в соответствии со
спецификацией COFF (общего формата
объектных файлов), распространенной в Unix-системах,
но сохранил некоторую совместимость с
форматом ДОС (об этом далее). Редакторы ресурсов Как уже говорилось выше, в EXE-файле (а также и в DLL) могут содержаться ресурсы. Обычно в профессиональных коммерческих проектах все данные (текстовые сообщения, курсоры, диалоговые окна и пр.), используемые в программе, хранятся именно в них. Это позволяет, к примеру, не прибегая к перекомпиляции исходного текста, создавать версии программы на различных языках. Достаточно лишь перевести тексты и сообщения в ресурсах — и все. Это в состоянии сделать даже человек, далекий от программирования. Для такой коррекции используются редакторы ресурсов. В Интернете развелось много программ подобного рода. Предлагаю вашему вниманию одну из них. Зовут ее Resource Hacker (работает под 9х, про 2000/ХР ничего не знаю). Обитает по адресу http://rpi.net.au/~ajohnson/resourcehacker и в других не столь отдаленных местах Сети. Это один из наиболее простых в использовании и достаточно функциональных редакторов ресурсов. И сразу, без лишних слов, давайте перейдем к делу — издевательству над сообщениями горячо любимой ОС Windows. Предлагаю изменить текст диалогового окна, возникающего (иначе это не назовешь :-)) при удалении группы файлов. Он, как и все окно, находится в файле shell32.dll (Windows/System). Предупреждаю: за возможные последствия автор статьи ответственности не несет! Так вот, загрузите его в редактор ресурсов, перейдите в секцию Dialog, а в ней, в разделе 1049 (по крайней мере у меня он находится там), щелкните по единственному значку — появится то самое диалоговое окошко. Далее щелкните по его элементу (тексту или кнопке), и в редакторе ресурсов в секции, содержащей параметры и текст окна, соответствующая этому элементу строчка выделится красной звездочкой (слева). Измените текст на свой, нажмите кнопку Compile Script (чтобы увидеть внесенные изменения) и сохраните все в файл с таким же именем (shell32.dll), но в другом месте. Теперь необходимо скопировать этот файл в директорию Windows/System и заменить тот, что там уже находится. Что, кричит система, понимаешь ли, сопротивляется? Но ничего — мы ее сейчас через ДОС… Постарайтесь с помощью загрузочного диска или еще как-нибудь перезагрузиться в ДОС — там все скопируется и заменится без проблем. Теперь перезагрузитесь в Windows и попробуйте удалить группу файлов (Shift+Del)… Сжатие EXE Еще с того же ДОС'а известны программы, сжимающие данные внутри EXE-файла и при этом сохраняющие его способность запускаться и исполняться. Под Windows такие программы тоже есть. Называются UPX (Ultimate Packers for eXecutables). Они позволяют сжимать данные внутри EXE (различных форматов, в т.ч. и PE) и DLL . Это очень хорошо, например, при создании Autorun'ов к дискам (быстрее ведь загружается и в то же время занимает меньше места) и в других целях, где обычный архиватор не подходит. Кстати, может быть, вы видели потрясающие демо-программы размером до 64 Кб, но притом вытворяющие чудеса при помощи OpenGL или Direct3d и сопровождающие это все музыкой (посмотрите демку SQWISH — на http://www.intercon.ru/~and). Так вот, они тоже сжаты UPX'ом. Можете поискать этого рода программы в Интернете по слову «UPX» или на сайте http://www.torry.ru (поиск по слову «UPX»). Мне приглянулась программка, расположенная по адресу http://upx.sourceforge.net. Она работает с командной строки, поддерживает очень большое количество форматов EXE, относительно долго сжимает, зато сверхбыстро распаковывает (что и требуется). Источник: http://www.mycomp.com.ua/
|
|
Copyright © "Internet Zone", info@izcity.com |