CD Shell Tools Forums

Полная веpсия: SISContents - распаковка, редактирование, подпись SIS-файлов Symbian 9
Вы просматриваете yпpощеннyю веpсию форума. Пеpейти к полной веpсии.
Стpаницы: 1 2 3 4 5 6
Написал небольшую утилиту для распаковки SIS-файлов для Symbian 9. Если у кого-то есть желание (и понимание, для чего может быть полезна данная программа), предлагаю потестировать.

Описание:
SISContents, тестовая версия.

SISContents - программа, предназначенная для распаковки установочных SIS-файлов ОС Symbian версий 9.x (предназначенных для смартфонов на базе платформ Nokia S60 3rd edition и Sony Ericsson UIQ 3.x; предыдущие версии не поддерживаются).

На данный момент возможности тестовой версии ограничены только чтением и распаковкой sis-файлов, в дальнейшем планируется расширение функциональности.

Совместимость: Windows XP/2003.
Язык интерфейса: Английский.
Ссылка на закачку: http://cdtools.net/symbiandev/downloads/siscont053.zip.
Изменения и нововведения SISContents версии 0.6.2:

- Добавлена функция вывода и сохранения pkg-скрипта;
- Исправлена ошибка чтения sis-файлов, имеющих в своей структуре SISProperties;
- устранены найденные недочеты в работе программы.

Тестирование программы в ОС Windows Vista не выявило проблем, поэтому можно считать, что данная версия с ней совместима Smile.

Примеры pkg-файлов, составляемых программой, можно посмотреть на скриншотах. Текст PKG-файла может быть скопирован в буфер обмена или сохранен на диск. Также при распаковке sis-пакета в папку назначения сохраняется и pkg-файл (или несколько pkg-файлов, если это embedded sis file).

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

Гость

OLEg, спасибо Вам!
Изменения версии:
- Реализован более подробный вывод информации о sis-файле;
- Добавлена возможность извлекать файлы по одному (клик правой кнопкой на файле в списке и выбор в появившемся меню пункта "Extract...");
- Добавлена функция чтения сертификатов, которыми подписан sis-файл, а также возможность их извлечения (экспериментально);
- Устранена ошибка с текстовыми файлами, имеющими атрибут TEXTSKIP, при составлении pkg-скрипта;
- Подправлена информация, выводимая в списке файлов sis-пакета.
- Устранена ошибка версии 0.6.2, приводившая иногда к зависанию программы;

Функция чтения сертификатов, которыми подписан sis-файл, и вывод информации о них является экспериментальной возможностью. В данной версии поддерживается чтение не всех полей сертификата (игнорируются расширения и информация о подписи), однако есть возможность сохранения сертификата на диск и его просмотр через программы сторонних разработчиков (например, с помощью MS Crypto Shell Extensions из состава Windows). Для сохранения сертификата необходимо нажать на нем правой кнопкой мыши и в появившемся меню выбрать пункт “Save as...”.
Не уверен, что алгоритм чтения полей сертификата работает на 100% правильно, поэтому в случае обнаружения ошибок (и по другим вопросам, связанным с SISContents) просьба писать мне на mail (он указан в меню Help->About программы) или в данную тему форума (регистрация не обязательна).

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

Совместимость: Windows 2000/2003/XP/Vista
Язык интерфейса: пока только английский

Получить новую версию можно, скачав приложенный файл siscont071.zip.
Вчера обнаружил в программе ошибку в процедуре распаковки sis-пакета. Если в sis-пакете присутствуют файлы нулевой длины (размером 0 байт), при извлечении таких файлов в них записывались посторонние данные. Данный баг присутствует во всех версиях начиная с 0.5.3.
Я посчитал эту ошибку существенной, поэтому выпустил обновление - SISContents 0.7.1 beta2. Других изменений данная версия не имеет. Всем пользователям SISContents настоятельно рекомендуется скачать приложенный к сообщению файл siscont071b2.zip.

Гость

А есть что-нибудь подобное для Symbian 8
Гость писал(а):А есть что-нибудь подобное для Symbian 8
Да, например, SISTool.

Гость

большое спасибо, а чем можно их назад скомпилировать
Гость писал(а):большое спасибо, а чем можно их назад скомпилировать
Если это к предыдущему вопросу касаемо sis файлов Symbian 8, то SISTool может это делать. Вообще, я к сожалению плохо знаком с программами для сборки sis файлов под эту версию ОС, но нашел одну статью, в конце которой приводятся несколько программ для этой цели, называется она Работа с SIS архивами. Помимо софта, упомянутого в статье, есть еще официальная консольная утилита от Symbian Ltd - makesis, но ей для сборки требуется pkg-скрипт (определяющий порядок создания sis-файла), для написания которого надо знать синтаксис. По-моему, эта утилита есть в составе SISTool.
В данной версии добавлена возможность открывать и просматривать Stub sis-пакеты.
Stub sis-файлы - это пакеты, которые содержат только список установленных на устройство файлов и используются для апгрейда компонентов, предуставновленных на девайс (входящих в состав прошивки или предустановленных на карту памяти). Самих файлов данные пакеты не содержат (только метаданные).

Stub sis-файлы хранятся на устройстве в папке System\Install\ (на дисках C, D(E), Z в зависимости от того, куда были предустановлены компоненты ОС, для которых созданы stub'ы) и имеют стандартное расширение sis. Подробнее о stub sis-файлах можно прочитать в документации к ОС Symbian - How to upgrade OS components.

При просмотре таких файлов SISContents выдает предупреждение о том, что это stub-пакет, а при извлечении содержимого пакета сохраняется только pkg-скрипт (так как сами файлы внутри пакета отсутствуют).

На скриншотах приведены примеры Stub-файлов предустановленных Flash Lite и QickOffice из состава прошивки Nokia N73.

Гость

OLEg писал(а):
Гость писал(а):большое спасибо, а чем можно их назад скомпилировать
Если это к предыдущему вопросу касаемо sis файлов Symbian 8, то SISTool может это делать. Вообще, я к сожалению плохо знаком с программами для сборки sis файлов под эту версию ОС, но нашел одну статью, в конце которой приводятся несколько программ для этой цели, называется она Работа с SIS архивами. Помимо софта, упомянутого в статье, есть еще официальная консольная утилита от Symbian Ltd - makesis, но ей для сборки требуется pkg-скрипт (определяющий порядок создания sis-файла), для написания которого надо знать синтаксис. По-моему, эта утилита есть в составе SISTool.

А под Symbian 9 таки имеюца?
Цитата:А под Symbian 9 таки имеюца?
Конечно. Та же makesis от Symbian. При распаковке sis-пакета программой SISContents в папку с файлами сохраняется pkg-скрипт (с расширением .pkg), он как раз и предназначен для makesis. Можно скопировать makesis.exe в каталог с распакованными файлами и запустить командой:

makesis.exe -v PkgFile.pkg SISFile.sis

На выходе получится готовый sis-файл с именем SISFile.sis (естественно, имена файлов надо подставлять свои).

Есть еще KVT Symbian Installer (GUI приложение), он собирает sis-файлы в том числе и для Symbian 9. Страница закачки на сайте разработчика почему-то не работет, поэтому прямой линк на закачку дать не могу (предлагаю вопрользоваться поисковиком Google Smile).

Гость

:thumbup2::thumbup2::thumbup2::thumbup:ShyCool
OLEg писал(а):Изменения версии:
- Реализован более подробный вывод информации о sis-файле;
- Добавлена возможность извлекать файлы по одному (клик правой кнопкой на файле в списке и выбор в появившемся меню пункта "Extract...");
- Добавлена функция чтения сертификатов, которыми подписан sis-файл, а также возможность их извлечения (экспериментально);
- Устранена ошибка с текстовыми файлами, имеющими атрибут TEXTSKIP, при составлении pkg-скрипта;
- Подправлена информация, выводимая в списке файлов sis-пакета.
- Устранена ошибка версии 0.6.2, приводившая иногда к зависанию программы;

Функция чтения сертификатов, которыми подписан sis-файл, и вывод информации о них является экспериментальной возможностью. В данной версии поддерживается чтение не всех полей сертификата (игнорируются расширения и информация о подписи), однако есть возможность сохранения сертификата на диск и его просмотр через программы сторонних разработчиков (например, с помощью MS Crypto Shell Extensions из состава Windows). Для сохранения сертификата необходимо нажать на нем правой кнопкой мыши и в появившемся меню выбрать пункт “Save as...”.
Не уверен, что алгоритм чтения полей сертификата работает на 100% правильно, поэтому в случае обнаружения ошибок (и по другим вопросам, связанным с SISContents) просьба писать мне на mail (он указан в меню Help->About программы) или в данную тему форума (регистрация не обязательна).

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

Совместимость: Windows 2000/2003/XP/Vista
Язык интерфейса: пока только английский

Получить новую версию можно, скачав приложенный файл siscont071.zip.
Изменения версии 0.8.0:
- Исправлены ошибки, возникавшие иногда при сохранении pkg-файла на диск;
- Внесены корректировки в алгоритм создания pkg-скрипта;
- Исправлено несколько ошибок в алгоритме чтения sis-пакетов;
- Исправлены ошибки в алгоритме распаковки sis-пакетов;
- Исправлена ошибка, в результате которой неправильно отображался открытый ключ RSA-сертификатов разработчика (Symbian Developer certificate);
- Добавлена функция удаления подписей и сертификатов, которыми подписан sis-пакет;
- Добавлена возможность извлечения компонентов пакета в виде sis-файлов с сохранением подписей.

В SISContents версии 0.8.0 возможно извлекать как весь пакет целиком, так и отдельные его сабкомпоненты (если они встроены в установочный sis-пакет). Для этого необходимо нажать на черную стрелку рядом с кнопкой распаковки (см. скриншот 1, приложенный к этому сообщению) и в выпавшем меню выбрать, что необходимо распаковать. Появится диалоговое окно, в котором необходимо выбрать вариант распаковки (скриншот 2).

Реализованы следующие варианты распаковки sis-пакетов:

Extract as files - производится привычная распаковка пакета или его компонента в зависимости от того, что было выбрано в меню.
Extract subcomponent as Sis package - данная опция появляется в случае распаковки компонента, встроенного в основной sis-пакет, выполняется сохранение компонента в виде отдельного sis-файла, при этом также сохраняются его подписи (в случае их присутствия).
Extract main package as files and subcomponents as Sis packages - производится распаковка файлов основного sis-пакета, а все встроенные компоненты извлекаются в виде sis-пакетов с сохранением подписей (соответственно, сами файлы компонентов не извлекаются).

В случае отсутвия у пакета компонентов диалоговое окно с выбором распаковки не появляется, а сразу производится процедура, описанная в варианте Extract as files.

Получить новую версию программы можно скачав приложенный к данному посту файл siscont080.zip.

Novi

OLEg Спасибо за прогу, просто от души!
Теперь вопрос - достаю все из sis файла (тема), получаю две папки: resource (два файла themepackage.mbm и themepackage.mif), private (файл themepackage.skn) ну и скрипт *.pkg. Далее изменяю themepackage.mbm как мне надо и пакую наазад MAKESIS-сом, в итоге файлы themepackage.mbm и themepackage.mif оказываются как в папке resource, так и в папке private, соответственно sis в два раза тяжелеет, к скрипту *.pkg даже не прикасался, что может быть? Проверял несколько раз, все время один и тот же результат... :scared:
Novi, хороший вопрос Smile. Откройте тему, которую вы распаковали, в SISContents еще раз и посмотрите на pkg-скрипт. В оригинальном пакете (который был создан в Carbide UI) всего 3 файла: один с расширением mif, один с skn и один с mbm. Но "файловых записей" для трех файлов 5, а не 3 (разное поведение установщика при копировании mbm и mif-файлов в девайсы на базе S60v3.0 и S60v3.1). Так вот, makesis упаковывает столько файлов, сколько видит "файловых записей", т.е. "тупо" записывает mbm и mif-файлы дважды. Отсюда и увеличение в размере. Возможно, это связано с тем, что версия makesis не последняя.

Гость

Да я это сразу заметил, только не знаю как этим побороться :crying:
Полагаю, более новая версия makesis должна помочь. Если трафик неограничен, могу посоветовать скачать SDK для S60 3 rd Edition FP2 Beta или 3 rd Edition FP1 с Forum Nokia и достать makesis оттуда.

P.S. В понедельник, если тестирование пройдет нормально, выложу SISContents 0.8 beta2, в текущей версии обнаружил пару неприятных ошибок.
В данной версии устранены недочеты версии 0.8, а также добавлена функция просмотра устройств, для которых предназначен sis-пакет (Target devices). Перечень поддерживаемых телефонов выводится в отдельной строке (подробнее на скриншотах).

Всем пользователям SISContents настоятельно рекомендуется скачать данное обновление (файл siscont080b2.zip, приложенный к этому сообщению).

Гость

Может я совсем блондинко, но объясните как это работает? как правильно использовать?

выбираю тему, нажимаю Extract files открывается окошко с таким адресом:
C:\DOCUME~1\EE41~1.HOM\LOCALS~1\Temp\Rar$EX00.594\0xA00000EB

а дальше то что делать?
Стpаницы: 1 2 3 4 5 6
URL ссылки