OSDev

для всех
Текущее время: 27 апр 2024, 21:53

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
СообщениеДобавлено: 13 авг 2013, 19:56 

Зарегистрирован: 31 июл 2013, 09:40
Сообщения: 28
docx и прочие новые форматы офиса основаны на zip, который содержит внутри себя xml и ещё какие-то файлы. Вот я и подумал, почему бы не запихнуть таким же образом в zip исполняемый код.
что хотелось бы:
1. возможность описания как бинарников, так и скриптов(т.е. указывается, например, тип контента, а также среда, в которой должен исполняться код)
2. возможность запихнуть внутрь кучу версий программы для разных систем/сред/процессоров(т.е., например, запихнули туда версию для линя, винды, а также колибри, после чего везде запускаем и везде запускается, но нет никаких dotNet'ов и т.п.)

Решил поддержку такого формата запихнуть себе в ядро, но, когда задумался над тем, как всё это будет описываться и лежать внутри zip'а, застопорился и подумал, что надо погуглить, есть ли уже подобное. В гугле не нашёл ответа.

Знает кто-нибудь о существовании чего-то подобного?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 авг 2013, 20:37 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
В том же docx описание хранится в xml.
MSI и JAR посмотри, а вообще в место JAR скорее всего надо смотреть JNLP.

А вообще эти форматы мне видятся очень бредовыми. Пока сам досконально не обдумывал вопрос так как есть и за и против.
1) Плюс любой новичок в кодинге может выполнить работу. Интеграция с другими продуктами на высоте.
2) Минус, не предсказуемые ошибки интеграции. О будущей работе майкрософт позаботился зарания.
3) Плюс. Уменьшает занимаемое место, до 10 раз.
4) Минус сжатие. Увеличивает время обработки. zip насколько помню плохо паралелится.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 авг 2013, 20:57 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
sh2ezo писал(а):
Знает кто-нибудь о существовании чего-то подобного?
Не интересовался. Я когда-то хотел хранить базовый образ для RAM-диска в виде архива, но exe-шники никогда.

Основная проблема - это большой объем (даже с учетом упаковки). У Эппл что-то такое было, когда они переходили на Интел-архитектуру.

Да, docx (и др.) прикольный формат. Особенно мне понравилось править свойства вручную и перепаковывать с большей степенью сжатия. В некоторых форматах используются запароленные архивы. Интересно, в исходниках соотв. программ пароли указываются в виде обычных символьных строк? Вот разрабы напрягутся, если выдернуть какой-нибудь такой пароль и вывесить его на самом видном месте :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 авг 2013, 22:04 

Зарегистрирован: 31 июл 2013, 09:40
Сообщения: 28
Спасибо за ответы. Глянул JNLP. Это вообще не то, ибо это описатель для загрузки/запуска контента из сети. Конечно, такой способ, как там, можно взять за основу описателей контента внутри zip, но там лишь поверхностное описание, т.е., например, базы, точки входа, а также секции там не описываются. Скрипты можно описывать запросто, т.е. набили zip скриптами для каждой операционки, засунули jnlp-подобный описатель и отдали юзерам.

Также глянул JAR. Там файл манифеста по полезному содержимому схож с jnlp, но там ещё есть некоторая инфа.

pavia писал(а):
1) Плюс любой новичок в кодинге может выполнить работу. Интеграция с другими продуктами на высоте.
2) Минус, не предсказуемые ошибки интеграции. О будущей работе майкрософт позаботился зарания.
3) Плюс. Уменьшает занимаемое место, до 10 раз.
4) Минус сжатие. Увеличивает время обработки. zip насколько помню плохо паралелится.

Также к плюсам можно отнести возможность шифрования, т.е. без пароля запуск и дизассемблирование будут невозможны.

msi, насколько я понял, содержит только инфу о том, что и как установить.

Вот пример того, что я имел в виду:
Вложение:
HelloWorld.zip [2.24 КБ]
Скачиваний: 324


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 авг 2013, 12:42 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
ZIP архив включает в себя два понятия - сжатие данных и формат архива. И то и другое имеет открытый формат, более того, сжатие даже стандартизировано. Для сжатия используется метод Deflate, стандартизированный в документах RFC 1950 и RFC 1951 и используемый во всех ZIP-совместимых архиваторах, архиваторе GZIP и многочисленных библиотеках и архиваторах, поддерживающих форматы ZIP и GZIP. Формат архива ZIP можно узнать из почти любого архиватора, распространяемого в исходниках.

UPD
Про шифрование расслабься. Если архив может без участия пользователя распаковать ОС, значит может и злоумышленник.
MSI использует другой формат архива и другой алгоритм сжатия данных.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB