Структура программирования, программирование, языки программирования, книги программирование На сайте представлена информация про программирование в Интернете и работу  

Событие на выход из процедуры, Как его сделать?
Как бы сделать zip не zip'ом, чтобы архиватор не догадался
Вывод JPEG из ресурса, Вывод JPEG из ресурса
DBGrid, Скроллинг не работает
состояние лотка cd-rom
Убить приложение
У меня к вам ышо вопросик есть ебаут Creating
Проблемы с Query и DataSource
Кодировки TMemo и XPManifest, Проблема с DOS кодировкой в Memo
Файлы руссификации к ExpressQuantumGrid, ExpressMasterView, ExpressBars
точный прицел принтера
Как правильно реализовать многострочность в ячейке, Как правильно реализовать многострочност
средства делфи для создания help'a
LPT порт, Вопрос
WMI на Delphi
Message with Tedit, Message with Tedit
TClientServer, TServerClient
ComboBox, не исчезающий выпадающий список
TChart
Подмена ресурсов, UpdateResource для всех версий Windows
Как сменить рабочий каталог Delphi7
Как анализировать отловленный exception?, Есть ли у Exception цифровые коды?
OLE+WORD
DelphiX, OnCollision для анимированных спрайтов, Срабатывает только на первом изображении
writecomponent
Модальное окно, Оказывается на заднем плане
Как Вы относитесь к курящим девушкам?
Priveleged Instruction, Не получается в WinXP
exe, найти OER
Ресурсы GDI, не освобождаюцца ресурсы
защищенные страницы памяти winXP
Изменение иконки в SystemTray?
Запуск программы от имени другово пользователя, RunAs в Win XP
Регистрация записи, В RemObjects Pascal Script
ProgressBar1, как с ним работать
Тормоза, Тормоза при компиляции программы.
Писк в строке, НЕобходимо найти параметр в строке
TMemo, Сколько строк?
Обмануть Delphi, for to do
Связка проги и хелпа с помощью контекстных ссылок, при показе pop-up вылетает содержание
Compact Rus
Popup как в Windows --> Пуск, помогите
Сколько занимает папка?
Следующая строка, Следующая строкачерез промежуток времяни
файл, Не могу дописать файл
как включить компьютер програмным способом
Изменить имя компа, Изменить имя компа
Обучение програмированию, Со скольки лет начинать
значение до знака, надо взять пораметры до определённого зн
изменение стиля WebBrowser1, где ощибка???
А что у меня TAB-Contol не работають?
Переход на следующую строку в TMemo?, КАК?
Работа со звуком
Update Tray
Компилятор, исходник...
Градиентная заливка TPanel?, Как залить???
1.fsStayOnTop и 2.TPanel
не полное значение, Мемо выдает не полное значение
Как извлечь дочернюю форму из Dll?, Как извлечь дочернюю форму из Dll?
Синтаксис, как сохранить
Скопировать файл., Чёт я затупил.
Вопрос по ShellListView, Теперь уже заключительный...
как узнать откуда запушен процесс
Помогите сделать правильно., Бьюсь над задачей.....
Извлечь часть строки, Подскажите функцию...
Сравнение ADA – Delphi – Pascal, нужна литература
Скопировать Html-файл, Вместе со всеми картинками, стилями и др
Delphi 7 - отличия и трудности
Своя коллекция компонет
Не компилируется проект! Нелп!!!, ошибка в файле Buttons.res

Платные хостинги     Раскрутка сайта     Книги по программированию


Как бы сделать zip не zip'ом, чтобы архиватор не догадался

Только здесь 1000 посетителей на Ваш сайт всего за 3 у.е.!

- Проблема такая:Нужно хранить информацию в zip'е. Файл шифруется паролем. Программа распаковывает файлы напрямую в память. Расширение у файла совершенно левое. Но как бы сделать еще так, чтобы архиватор не видел, вообще, что это зип и не показывал даже список файлов?Простая подмена заголовка не проходит. RAR, например, не может распаковать, но все равно уверенно говорит, что это zip, только поврежденный и показывает список файлов. Причем могет еще и восстановить поврежденный заголовок.Может у кого есть умные мысли по этому поводу?

- Заксорь весь файл - процесс несложный, легко обратимый, но с уверенностью сказать что это - zip не сможет никто.

- А там их два...

- ксорить файл не лучший вариант: Хотелось бы перед началом работы восстановить файл, чтобы можно было работать, а при завершении работы снова его поломать. Ксор подойдет, но если файлик достаточно крупный будет, то это может занять гораздо большее время.Как вариант да. Но каждый раз перебирать весь файл... Сейчас просто меняю первые 2 байта с PK на MZ Насчет двух заголовков проверил... Нашел три Попробовал заменить первый и второй PK на MZ. Сработало. Теперь бы определиться как оперативно искать второй...

- Вот, блин. Почитал описание, поковырял зипы. Там заголовок в начале, заголовок в конце, да еще заголовок перед каждым файлом. А, если там 100 файлов, то и заголовков будет уже за 202.Идет первый заголовок, потом заголовок-файл, заголовок-файл. В конце зипа еще один заголовок и снова заголовки всех файлов в архиве. Замучаешься менять! А RAR сканит побайтно весь файл в поисказ заголовков. Хоть 200 метров спереди положи, все равно находит. И распаковывает! Не ксорить же в самом деле...

- неужели так сложно 1) зазиповать2) заксоритьи все

- Цитата ксорить файл не лучший вариант: Хотелось бы перед началом работы восстановить файл, чтобы можно было работать, а при завершении работы снова его поломать. Ксор подойдет, но если файлик достаточно крупный будет, то это может занять гораздо большее время.Как вариант да. Но каждый раз перебирать весь файл... Сейчас просто меняю первые 2 байта с PK на MZ Насчет двух заголовков проверил... Нашел три  Попробовал заменить первый и второй PK на MZ. Сработало. Теперь бы определиться как оперативно искать второй...

- 1) Сканируешь файл, находишь все заголовки.2) Составляешь таблицу смещений всех заголовков, пишешь е в конец файла, обозначая старт-сигнатурой и защищая контрольной суммой.3) Правишь все заголовки до неопознаваемости.При распаковке (в смысле перед) просто восстанавливаешь заголовки. Хвост можно не отрезать - подумаешь архивер ругнется что там в конце грязь...

- Спасибо, уже разобрался. У меня тоже такая идея была. Но пошла немножко дальше.Зачем класть в хвост таблицу со смещениями, когда она там уже есть! Сам зип уже позаботился, как искать быстро начало файла. Для скорости можно туда закинуть смещения начала хвостовой таблицы.От него по смещению 2A получаем 4 байта - адрес в файле. По этому адрему меняем 2 байта на любые другие. Затем смещаемся от этого адреса на 1A, получаем длину имени файла. Затем возвращаемся в самое начало, сдвигаем на длину имени файла, и там заголовок следующего файла. И так далее, пока не дойдем до коментария.Кстати, архиватор не ругнется - в хвосте сидит коментарий (даже если мы его туда и не клали, то все равно есть пустой).Теперь осталось это только реализовать... Это сообщение отредактировал Snowy - 29.11.2004, 12:15

Интернет казино     Онлайн игры     Увеличение члена     Купить DVD


Главная страница | opengl программирование | программирование бейсик | программирование интерфейса | программирование pocket | программирование заказы | задача динамического программирования | prolog программирование | стохастическое программирование | процедурное программирование | история языков программирования | структура программирования | языки программирования высокого уровня | программирование устройств | функции программирования | программирование siemens | списки программирование | язык программирования java | олимпиада программирование | программирование мобильных телефонов | дипломная работа программирование | программирование palm | Ссылки

Все про процедурное программирование