| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Кто пользуется ZipForge |
| Автор: Teran 12.8.2006, 16:50 | ||||
| У меня такая проблема: это код который позволяет делать из zip - exe
вот код исполняемого файла, кот будет встраиваться в .zip:
все вроди бы все просто Но есть болшая проблема с вот этим самым файлом кот. будет встраиваться в .zip - его размер у меня свыше 300кб т.е. если сам яип весит 20кб и из него сделать SFX то к нему еще доваятся те 300 как можно сделать так чтоб при создании SFX архив выростал ну в пределах 50кб |
| Автор: Alexeis 12.8.2006, 16:58 |
| Так он что позволяет писать свои SFX модули? Если так то пишите код SFX на KOL или на чистом API + чистка отладочной информации. Тогда размер экзешника будет от 8,5 кб |
| Автор: Teran 12.8.2006, 17:23 | ||
можно подробней а то я никогда об этом не слышал впринципе хотел но когда делаеш
программа сразу же стаёт = 360кб а каким образом её можно чистить? |
| Автор: Alexeis 12.8.2006, 17:44 |
Да это печально, вероянто ZipForge имеет внутри ссылку на модуль Forms, который и довешивает 360кб В этом случае работа с KOL&MCK невозможна. Чистка много не дает, можно удалить почти все ресурсы + програмкой StripReloc, вычистить все остальное (ее исходники можно найти на этом форуме). |
| Автор: Teran 12.8.2006, 17:56 |
а может есть какаято другая функция которая позволит разархивировать zip (там нужна только раархивация)? |
| Автор: Teran 12.8.2006, 19:28 |
| Моежет ктото знает какойто другой "примитивный" компонент который бы позволял только разархивировать .zip архив? |
| Автор: Alexeis 12.8.2006, 20:48 |
| Для KOL имеется альтернативная библиотека для работы с архивами ее можно скачать отсюда http://bonanzas.rinet.ru/e_downloads.htm Раздел Compression & Decompression здесь же можно найти и последнюю версию библиотеки KOL, а так же документацию по ней. |
| Автор: Teran 14.8.2006, 08:54 | ||
| Интересное явление произошло: после установки KOL Delphi перестал компилировать любой проект (даже только созданный) пишет:
|
| Автор: Teran 14.8.2006, 09:12 |
| ПОдскажите пожалуйста как пользоваться вот этой самой KOL не разберусь на сайте целая куча компонент - что нужно устанавливать? |
| Автор: Alexeis 14.8.2006, 09:23 |
| Ой забыл сказать KOL and MSK работают с делфи 7 и меньше. Добавлено @ 09:29 Тут в двух словах не раскажишь есть свои тонкости, советую почитать http://bonanzas.rinet.ru/KOLBook.rar - тут все очень доступно оприсано |
| Автор: Snowy 14.8.2006, 09:35 |
| Удали Variants.pas из папки с KOL. |
| Автор: Alexeis 14.8.2006, 09:38 |
| Если в двух словах на форму нужно бросить KOLProject, назвать его, затем KOLForm, сохранить все это и закрыть, затем удалить файлы исходного проекта (project1.*) и открыть новый сгенерированый кол, затем уж на ненго все бросать.(только из палитры кол) |
| Автор: Teran 14.8.2006, 10:15 |
делаю так: создаю новый проект кидаю на форму TKOLProject -> Называю KOL в поле projectDest заношу KOLDest далее кидаю TKOLForm откомпелировать не удаётся требует "Proxies" : [Fatal Error] DesignEditors.pas(530): File not found: 'Proxies.dcu' затем все закрываю, удаляю project1.*(остается только Unit1.pas и Unit1.dfm) открываю Unit1.pas Но кнопка запуска "Run" ->Enabled=false ??? |
| Автор: Alexeis 14.8.2006, 10:25 |
| А что нового проекта с ииенем указаным в projectdest не появилось? |
| Автор: Teran 14.8.2006, 10:43 |
| теперь понял: он создает свой проект автоматом но нужно было еще прописать пути а он может работать с zip архивами? |
| Автор: Teran 14.8.2006, 12:14 |
| Эх не подходит их библиотека она не поддерживает архивы с паролем |
| Автор: Snowy 14.8.2006, 12:29 |
| Библиотеки, поддерживающие пароль можно пересчитать по пальцам. И те, что поддерживают далеко не компактные. Но, т.к. у тебя SFX, то можешь сам пожать во что хошь и зашифровать как хошь - распаковывать всё равно тебе |
| Автор: Teran 14.8.2006, 12:50 | ||
Чуть чуть не так там происходят действия SFX архив строится не по "нормальным файлам", а уже по созданному архиву ".Zip" чтоб так получилось это необходимо сперва разархивировать .zip затем заново запковать какимто упаковщиком (при больших файлах это - время) Кроме этого при открытии его в WinZip-е я думаю что он открываться не захочет |
| Автор: Snowy 14.8.2006, 13:00 | ||
Эт точно. |
| Автор: Alexeis 14.8.2006, 13:06 |
Это не всегда так, например Winrar Вдит SFX-ы сделпные SevenZIP... |
| Автор: dumb 14.8.2006, 13:11 |
| что-то я не уловил проблемы. сожми первым попавшимся архиватором, поддерживающим zip-sfx, какой нибудь маленький текстовичок. потом возьми hex-редактор и "выкуси" из файла распаковщик - от начала до (практически в конце) сигнатуры "PK\x3\x4" (кусок, начинающийся с этого места и есть zip-архив). сохраненный распаковщик просто приклеиваешь в начало любого обычного zip-архива. например распаковщик (w31/9x), который приклеивает Total Commander весит 30к. |
| Автор: Teran 14.8.2006, 13:19 | ||
тоже не пойдет:при откусывании названия и виды у разпаковщиков то останутся, а мне нужно чтоб у меня разпаковщик назывался (например Test) и расположение кнопочек.... и caption.... |
| Автор: Alexeis 14.8.2006, 13:25 | ||||
Чет я сомневаюсь что "выкусывание" разрешено производителем архиватора. Если разрешено, мож у него и исходничек попросить
Добавлено @ 13:30 Есть исходники для SFX, от Seven Zip, не знаю можно ли их комерчески использовать http://unattended.solta.ru/7z424mod.7z Добавлено @ 13:33 Кто в курсе, что значит?
|
| Автор: dumb 14.8.2006, 13:35 |
| [off]даже правила процитировал... ты, если сомневаешься, приведи пункт соглашения, который нарушается этим выкусыванием. действие это ничем не отличается от обычного преобразования в sfx. у рара, например, эти модули даже отдельно лежат. код распаковщика я патчить не советовал.[/off] Teran, тогда гугл по "unzip source" и затачивание под свои цели. |
| Автор: Alexeis 14.8.2006, 13:37 | ||||
Ага вот что говорит ФАК
Добавлено @ 13:43
Даже бесплатный 7z требует лицензии, на измененый код своих частей. А WinRar и подавно! UnRar.exe - пожалуйста используйте бесплатно, а патчить и проводить любой реверсинг строго запрещено |
| Автор: Teran 14.8.2006, 13:49 |
с этого и началась эта беседа: Какие бы компоненты я не подключил к проекту - exe файл становиться =360кб, хотел изюользовать KOL но там библиотека не подддерживает работу с паролями на архивы а что делать и не представляю? |
| Автор: Alexeis 14.8.2006, 14:00 |
| Вот тут есть любопытная статья о том как можно пивасть модуль SFX для Zip http://www.codeproject.com/file/sfxframework.asp |
| Автор: Teran 14.8.2006, 14:19 | ||
|
| Автор: Alexeis 14.8.2006, 14:39 |
| Teran, и что в этом такого ни кто ведь не требует использовать его код. Написана статья к ней прилогаются исходники. Важно понять принцип, а затем написать аналог на делфи. За использование информации описанной в этой статье ведь деньги платить не надо |
| Автор: imageman 14.8.2006, 15:47 |
| а почему всё-таки откинули мысль криптовать своим алгоритмом? Последовательность, примерно, такая: Упаковываем в ZIP, потом шифруем и приплюсовываем в начало собственный SFX. Распаковка. Берем файл, в памяти его дешифруем и из памяти уже берем дешифрованный ZIP и распаковываем. (MemoryStream). |
| Автор: Snowy 14.8.2006, 15:50 |
| imageman, потому что WinZip не возьмёт |
| Автор: Teran 14.8.2006, 16:06 | ||
чегото я наверно всеравно недопонимаю, Как можно создать EXE файл маленьким если только при встрече в программе
она тутже выростает? (аналогично и другие компоненты, работающие с архивомами) Добавлено @ 16:08 при этом действии всеравно прийдется использовать ZipForge |
| Автор: Alexeis 14.8.2006, 16:12 | ||
Так sfx писать надо без него, а вот програму которая будет делать из SFX модуля SFX архив, можно с чем угодно писать. Добавлено @ 16:14 Почему это есть же для KOL распаковщик zip. |
| Автор: Teran 14.8.2006, 16:27 |
с этим согласен и я был очень рад его использовать если бы он поддерживал запароленые архивы..., а так - он отпал |
| Автор: Alexeis 14.8.2006, 16:44 |
Ну код то открытый можно и дописать если что, компоненик ведь по всему видно, что готового решения нет, значит "на штурм" формата zip. Добавлено @ 16:56 Таки нашел еще один пакетик где можно делать SFX http://www.angusj.com/delphi/tzip.zip SFX - модуль занимает всего 33,5кб, кроме того в проекте имеется его исходник позволяющий создавать SFX, по своему вкусу! Выполнен он ввиде DPR проекта (без ) VCL! |
| Автор: Teran 14.8.2006, 17:48 |
пахнет чемто вкусным. Эх теперь бы разобраться в этом коде, а то там чтото страшное.... Добавлено @ 17:57 немного непонятно от куда там берутся ListBox,кнопки, Edit и в каком месте они создаются |
| Автор: Alexeis 15.8.2006, 00:13 |
| Они создаются на API, кроме того диаог имеет свой ресурс, который можно изменять или дополнять в зависимости от своих нужд. Чтоб найти место создания ListBox и Edit надо запустить поиск по CreateWindow или CreateWindowEx, поскольку именно они в конечном итоге создают окнонные компоненты. |
| Автор: Teran 15.8.2006, 08:19 |
| alexeis1 спасибо огромное за подробное растолкование всей темы котрая мне была необходима (поделюсь +) но там контролы не создаются по CreateWindow или CreateWindowEx (по поиску не нашел), просто все эти шаблоны помещены в ресурс и выводятся с помощью DialogBox-ов: DialogBox( hInstance, 'MAIN_DIALOG1', 0, @Main); и DialogBox( hInstance, 'PSWD_DIALOG', 0, @PwdProc ); |
| Автор: Snowy 15.8.2006, 09:07 |
| Вот после собаки - имя функции, которая будет работать с этим диалогом. А параметры самого диалога - в ресурсах. Добавлено @ 09:08 Вопрос плавно перетекает в тему для раздела WinAPI. Отношения к ZIP он уже не имеет. |