Статья: Процесс урезания EXE файлов, написанных на VB, для чайников.
Начну с вступления. Зачем вообще сжимать exe-шники? Причин несколько. Для некоторых пользователей просто привлекательней маленький размер программы, другим выгодней качать с Интернета, особенно тем кто через GPRS (как раз я токовым и являюсь). Для вирусмейкеров, это вообще камень преткновения, также как и для демомейкеров (в соответствующей категории, 4к,64к,512в и тому подобных). Но упаковка исполняемых файлов не как не связана с экономиям дискового пространства, потому что это бред. Как приводился, на одном форуме, пример: если HDD на 160Gb то ужав файл на 160b, можно сэкономить 0,00….01% места на винте..
 
	Варианты упаковки.
1. Скачать программу сжатия PE файлов, и воспользоваться ей.
Если Вы, ни разу не пользовались такими программами, то скорей всего зададите вопрос: А какую выбрать? И на этот вопрос ни кто Вам однозначно не ответит. Так что я отвечу многозначно. Во-первых, определитесь для чего вы хотите сжать файл.
 -Если Вы хотите защитить программу от взлома, то либо найдите пакер к которому нет распаковщика (этот подход защитит, разве что от любопытных пользователей, которые любят в ресурсах копаться), на сколько я знаю к MEW вроде нет, либо воспользуйтесь протектором, это проги специально заточенные под это.
 -Если просто сжать (не максимально), так просто, чтоб красиво выглядела, то воспользуйтесь UPX последней версией (бесплатная, удобная софтинка).
 -Если сжать максимально (в EXE формат), то я посоветую либо MEW,  либо WinUpack, у обоих есть графические оболочки, что в свою очередь очень упрощает работу с ними. Также есть Upack Optimizer (UPO), это оптимизатор для WinUpack, он перебирает настройки пакера, и выдаёт, при каких настройках он сжимает максимально (для каждого файла эти настройки разные). Так что я посоветую такой алгоритм действий: Пихаем нужный exe-шник в UPO, смотрим какой размер минимальный (запоминаем 

, затем сжимаем утилитой MEW, сравниваем, и пакуем тем, что лучше. (Примечание: если в MEW убрать галочку с чека “Win9x combatibility”, можно сэкономить пару байт) 
 -Если Вы хотите минимизировать ваш EXE максимально-максимально, и вы боритесь за каждый байт, и вам всё ровно в каком он формате, ли ж бы запускался двойным щелчком, и когда кажется что вы уже сжали его как только можно, Вы скидываете ещё один байт, и рады...  То идущий ниже текст для вас.
2. Здесь пойдет речь о минимизации программы, написанной на VB.
Как все знают, в Basic-е не обязательно объявлять переменные, при компиляции они автоматически назначаются Variant, и занимают 8 байт (если не ошибаюсь), чтобы сделать объявление переменных обязательным напишите в верху кода “ Option Explicit ”.
  Объявляйте переменные такими типами которые нужны.  Например, если i в ходе программы меняется от 13 до 666 (целочисленно) то не стоит обзывать его Long-ом.
  Дробные константы следует писать со знаком «!» в конце. x * 0.5 -> x * 0.5!
  Это фундаментальные методы уменьшения программного кода. Так же оптимизируйте алгоритмы используемые Вами.
  Компилируйте в P-Code.
  Теперь когда готов exe-шник, пихаем его в  Resource Hacker (или любую подобную программу), удаляем все ресурсы, и сохраняем. Затем обрабатываем его утилитой PE Optimizer (либо другой утилитой, которая вырезает релоки).
  А теперь начинается самое интересное, работа топором 

. Открываем WinHEX (в общем шеснадцетиричный редактор) Кидаем туда наш файлик, и поехали…
  Если длинна DOS заголовок (это то что находиться между началом файла и символами “PE”)  больше 59 байт то, начатая с 3 байта и до “PE”, исключая 59 байт, забиваем нулями (не символами «0», а нулевыми байтами), не трогаем “MZ”, 59 байт и “PE” (отсчёт байтов начинается с одного)
  “.text”, ”.data”, “.rsrc” – тоже затираем нулями. Ищем строку где будет указан путь к папки с VB, тоже нулями. Находим имена: форм, проекта, модулей, всё в нули.
 А теперь если вам дорог каждый байт, то наступает творческая работа… Забиваем какой ни, будь участок нулями,  сохраняем, запускаем, закрываем – нет ошибок? – продолжаем. Есть ошибка – отменяем.  И так долго и упорно, а главное долго… Вот чего стоит борьба за каждый байт…
 Теперь когда Вы, либо мягко говоря устали, либо удалили всё что можно, качаем прогу Dropper v 2.0. Открываем cmd, переходим в папку с dropper-ом , и пишем “dropper /b2 имя exe-шника.exe”. В папки с dropper-ом появиться файл out.bat, запускаем.. работает? Радуемся. Если не работает или не появился вовсе, то идём более сложным путём. Переименовываем наш exe просто в ‘x’. В cmd пишем “makecab  x”, (makecab, слово то такое, на слуху:) .В папке появиться новый файлик, меняем его имя на бла-бла.bat, кидаем в WinHEX, дописываем в конце такие hex значения: “0D 0A 0A 65 78 70 61 6E 64 20 25 30 20 2E 78 0A 2E 78 0A 64 65 6C 2E 78”. Сохраняем,… радуемся 
P.S. Я не утверждаю что приведенный мною способ является лучшем, или вообще целесообразным, но как пишут во многих бесплатных программах: “Не нравиться, не пользуйтесь.” Так же я не утверждаю что приведенные мною программы, являются лучшими.
P.P.S. Это моя первая статья, так что было бы интересно услышать ваше мнение о ней.
 |( () ( T |/| |( 2007.