Работа с zip архивами29.10.2024, 02:49. Показов 24043. Ответов 283
Метки нет (Все метки)
Из всего, что попадалось по теме сжатия/распаковки ZIP наиболее интересные были примеры с использованием библиотеки Zlib. Оригинальная zlib использует cdecl экспорт функций, но есть реализация zlibwapi.dll, которую можно использовать в VB. Вот хороший пример использования. Там можно увидеть как сжть/распаковать массив байтов, но вот беда, очень сложно найти пример под VB с более обширным использованием, способной на большее, данной либы, которая не есть простая, там есть функции с использованием множества параметров констант и длинных структур, которые чтобы узнать наверное надо долго копатся в сишных заголочниках. Но HackerVlad в личной беседе говорил, что у него есть исходники с использованием данной библиотеки, поэтому любезно прошу его поделиться данной информацией.
Добавлено через 1 минуту кстати словосочетание zip-архивами в названии форум блочит почему-то )Добавлено через 6 минут На одном форуме есть хороший пример испльзования функций zlib для извлечения/распаковки отдельных файлов, там Кликните здесь для просмотра всего текста
обсуждался какой-то экзотический ЯП Clarion, но очень наглядно
Здесь подробное описание функций, структур и констант, однако я не нашел там unzGetCurrentFileInfo и т.п.
0
|
||||||
| 29.10.2024, 02:49 | |
|
Ответы с готовыми решениями:
283
Работа с ZIP-архивами - распаковка файлов Автоматизировать заполнение "Графика выполненных работ по месяцам" Задания из лаб.работ |
|
Вернулся
1777 / 672 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
||||||
| 03.11.2024, 20:16 | ||||||
|
Итак новый вариант создания библиотеки вторая версия
Форма:
Размер выходного EXE при этом всего 150 Кб! Я думаю, что это самый лучший и самый оптимальный вариант будет!
1
|
||||||
|
Вернулся
1777 / 672 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
|
| 03.11.2024, 20:38 | |
|
Мои 150Кб против 278Кб EXE-файла по изначально предложенному варианту от tetstuser2.
Добавлено через 51 секунду И это я ещё брал за основу библиотеку именно от testuser2 моя так меньше места занимает вообще на целых 100Кб. Добавлено через 1 минуту Но технологию base64 мне конечно стоит изучить всё равно. Можно будет вместо ресурсов иногда и строками base64 баловаться. Например воспроизовдить вавки или описывать регионы для нестандартных форм. Добавлено через 12 минут А я вот ещё думаю, может надо было base64 данные в ресурсы зашивать? Вместо LZNT1 компрессии DLL-файла? Или base64 данные, упакованные LZNT1 компрессией? Если эта компрессия помогала бы... Добавлено через 1 минуту Я ведь так и не изучил ещё технологию base64 и как там testuser2 упаковывал эти данные... Добавлено через 2 минуты testuser2, у тебя ведь получилось на выходе 126056 base64 данные каким-то чудом упакованные? А у меня 125047 на выходе получились данные упакованные, с помощью LZNT1, почти одинаково... Добавлено через 55 секунд testuser2, но каким чудом ты упаковал данные? что у тебя получилось 126056 на выходе? как, каким образом, и при помощи какого механизма ты этого достиг? Добавлено через 25 секунд И base64 строки бывают разные что ли, упакованные и не упакованные?
0
|
|
|
Вернулся
1777 / 672 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
|
| 04.11.2024, 01:43 | |
|
locm, и как ты собираешься это сделать? и как вызывать функции?
0
|
|
|
|
|||||||
| 04.11.2024, 02:18 | |||||||
|
Для примера загрузка из памяти zlibwapi.dll и вызов из нее функции zlibVersion().
2
|
|||||||
|
Вернулся
1777 / 672 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
||
| 04.11.2024, 04:38 | ||
|
locm, если честно, я не знал вообще что так можно
Добавлено через 11 секунд это очень интересно Добавлено через 10 минут Поэтому я не понимаю Добавлено через 2 минуты Я не знаю как устроен ваш PureBasic но в ресурсах исполняемого файла MemDLL.exe нет никакого DLL вообще. Тогда как он загружает я пока не понимаю, откуда берётся эта DLL, но за пример спасибо, я стал верить, что это возможно и в VB6 Добавлено через 6 минут Там без танцев с бубном вообще никак не обойтись конечно Но я даже не знал что это вообще возможно Примерно технология такая: берутся двичные данные, например из ресурсов или из строки base64 не важно откуда потом загружается DLL в виртуальное адресное пространство процесса своего EXE через функцию VirtualAlloc потом загружается таблица импорта функций потом куча всякого ещё что я вообще не понимаю Добавлено через 4 минуты Вообще не понимаю как загрузить DLL из воздуха и выполнить функцию я вообще в шоке Добавлено через 6 минут Помнится мне вроде The Trick работал уже с чем-то похожим, он ведь у нас супер хакер Добавлено через 2 минуты На vb6 ещё наверное не создан человечеством такой код всё-таки вот тема https://www.vbforums.com/showt... rom-memory Добавлено через 1 минуту Там у нашего гениального The Trick что-то похожее было вроде но не сама функция LoadLibrary из ресурсов Добавлено через 2 минуты ну короче нужен огромный модуль с самописной функцией LoadLibrary которая будет принимать в качестве параметра не имя файла DLL а буфер данных DLL файла и ещё функции вызова функций из DLL и очень код такой серьёзный будет, с ассемблерными вставками даже я думаю вряд ли это так просто осуществить Добавлено через 3 минуты testuser2, помнишь былд проект у трюкача, вот он: https://www.vbforums.com/showt... ut-runtime там что-то такое есть примерно похожее, но очень сложное и почти не понятное нам
0
|
||
| 04.11.2024, 04:39 [ТС] | |
|
Но в этом способе есть определенный минус - вызовы функций производятся по указателю, это как бы визуалльное усложнение. Вот еслиб можно было библу загрузить так, чтоб ее пришить к декларациям..
1
|
|
|
Вернулся
1777 / 672 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
|
| 04.11.2024, 04:57 | |
|
и правда только для PureBasic и для С есть в интернете код вот например как раз https://www.purebasic.fr/engli... hp?t=37979
для vb6 нет такого кода в интернете короче, на почти на 100% уверен что The Trick точно знает как это сделать или у него уже есть почти правильно написанный код Добавлено через 1 минуту testuser2, короче мой совет - спроси у The Trick может у него уже и модуль такой написан... Добавлено через 14 минут testuser2, ну короче не по сеньке шапка, не для таких отсталых программистов как мы эта тема, только такой гений как The Trick смог бы разобраться, поэтому предлагаю забыть
0
|
|
|
|
|||||||||||
| 04.11.2024, 13:15 | |||||||||||
|
Статические библиотеки возможно использовать в VB? Если да, можно сишный код (например MemoryModule) скомпилировать в lib и подключить к проекту. В архиве немного измененный код с экспортируемыми функциями с соглашением вызовов stdcall. Кликните здесь для просмотра всего текста
1
|
|||||||||||
|
Вернулся
1777 / 672 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
|||
| 04.11.2024, 15:23 | |||
|
Добавлено через 7 минут
0
|
|||
|
Вернулся
1777 / 672 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
|
| 04.11.2024, 15:33 | |
|
locm, надо сконвертировать в TLB
Добавлено через 4 минуты Я без понятия как подключить файл .LIB к проекту на VB6 и возможно ли это вообще. А после компиляции EXE-файла необходимость в библиотеке LIB отпадает?
0
|
|
|
Вернулся
1777 / 672 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
|
| 04.11.2024, 16:00 | |
|
locm, вот например тут: Как подключить *.lib файлы нет ответа с 2007 года, никто не знает как
Добавлено через 4 минуты Нашёл такое "в С++-проекте надо нарисовать IDL-файл, сгенерить из него typelib, которую затем подключить к проекту VB6" Добавлено через 3 минуты locm, вот например нашёл: https://forum.sources.ru/index... pic=195184 там тоже нет ответа с 2007 года Добавлено через 45 секунд простым способом подключить .lib не получится только какими-то хакерскими штучками сложными манипцляциями Добавлено через 15 секунд и то хрен знает как это сделать
0
|
|
| 04.11.2024, 16:04 [ТС] | ||||||||||||
|
Сравнил компрессию RtlCompressBuffer (LZNT) и Сabinet (LZMS). Строку лучше сжимает LZNT, бинарь - LZMS
Кликните здесь для просмотра всего текста
1
|
||||||||||||
|
Вернулся
1777 / 672 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
||
| 04.11.2024, 16:51 | ||
|
Добавлено через 43 секунды 139 и 146 извини меня не сильно отличается Добавлено через 58 секунд А вот упаковка и распаковка буфера с помощью компрессии cabinet это интересно. Можно написать такой модуль будет.
0
|
||
|
Вернулся
1777 / 672 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
||
| 04.11.2024, 17:25 | ||
|
а я думаю создать только для cabinet Добавлено через 19 минут testuser2, кстати хочешь прикол в cabinet.dll есть возможность распаковки/упаковки ZIP кажется. Там я нашёл COMPRESS_ALGORITHM_MSZIP. Добавлено через 2 минуты RFC 1951 это ZIP?
0
|
||
| 04.11.2024, 17:25 | |
|
access и zip архив Как распаковать ZIP-файл в 7z?
Замена файла в zip архиве при совпадении имени Как сделать архив zip? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|