SIS Info tool for Symbian 9.1 SIS files

Platforms:
Keywords:

There are plenty of utilities to extract the contents of a SIS file from the pre Symbian 9.1 SIS files. However, I could not find that kind of tool for the new SISX file format (specified in here). So, I wrote a small python utility that is able to parse the SIS file, print some information about its contents and extract the contained files.

Latest version can be found in here.

Or get a version mirrored on our server: sisinfo.zip
sisinfo.zip

Usage

sisinfo.py [options]

-f FILENAME--file=FILENAME Name of the SIS file to inspect
-i --info Print information about SIS contents
-s --structure Print SIS file structure
-e PATH --extract=PATH Extract the files from the SIS file to PATH

At least -f switch has to be given on command line to define the SIS file to inspect and one or more of the other options to specify the actions to perform.


SIS Info tool for Symbian 9.1 SIS files

Hello Jari,

A quick suggestion for a small improvement that would make the scripts significantly more useful:

Add a feature where a PKG file is generated from the SISX file - this would make the scripts immensly more useful in verification testing and prototyping.

Thanks in advance, Pawel

SIS Info tool for Symbian 9.1 SIS files

how do we use this? im trying to unpack a SISX extention, i downloaded phyton but when i click on sisnfo it wont work, wat should i do????

SIS Info tool for Symbian 9.1 SIS files

Hi Pawel, thanks for the improvement idea. I will implement support for generating the pkg-file as soon as I have time for it.

Meanwhile, check the version 0.2 of the tool http://www.niksula.cs.hut.fi/~jpsukane/sisinfo.html. The new version has support for printing certificate information of the sis file.

(I could not find a way to update the article, is I posted update information like this...)

Jari

SIS Info tool for Symbian 9.1 SIS files

To use the sisinfo.py tool, you have to have python installed and somewhere in your PATH variable. To inspect a sis-file, you have to start command prompt and issue for example command "python sisinfo.py -f sisfile.sisx -i" (without the quotes).

SIS Info tool for Symbian 9.1 SIS files

this doesnt work unfortuantly :( it would be a very cool thing if such thing did exsist, but it doesnt

SIS Info tool for Symbian 9.1 SIS files

Works here perfectly. I just tried with Python 2.5 for Win and the latest version from the SISInfo homepage.

SIS Info tool for Symbian 9.1 SIS files

The -i option works fine, but -e option gives error below? Why? Have tried with a couple different SISX files each of which give same error. Thanks.

C:\development\workspace\UrlLauncher\sis>python sisinfo.py -f UrlLauncher.SISX -i ! : \ s y s \ b i n \ U r l L a u n c h e r . e x e ! : \ r e s o u r c e \ a p p s \ U r l L a u n c h e r . r s c ! : \ p r i v a t e \ 1 0 0 0 3 a 3 f \ i m p o r t \ a p p s \ U r l L a u n c h e r _ r e g . r s c ! : \ r e s o u r c e \ a p p s \ U r l L a u n c h e r . m i f ! : \ p r i v a t e \ 0 7 5 7 5 4 0 2 \ b a c k u p _ r e g i s t r a t i o n . x m l

C:\development\workspace\UrlLauncher\sis>python sisinfo.py -f UrlLauncher.SISX -i -e C:\development\workspace\UrlLaunche r\sis\unsis ! : \ s y s \ b i n \ U r l L a u n c h e r . e x e Traceback (most recent call last): File "sisinfo.py", line 201, in <module> handler.execute(options) File "sisinfo.py", line 130, in execute newFile = file(path + os.sep + parts[len(parts) - 1], "wb") TypeError: file() argument 1 must be (encoded string without NULL bytes), not str

SIS Info tool for Symbian 9.1 SIS files

I'm also using Python 2.5 on Windows and the latest version of SisInfo, but get the error shown in the previous post.

SIS Info tool for Symbian 9.1 SIS files

I have updated the sisinfo tool to version 0.5. In version 0.4 there were problems with unicode strings and it sometimes produced the error message reported above when extracting files. I fixed the error and the version 0.5 is available: http://www.niksula.cs.hut.fi/~jpsukane/sisinfo.html

SIS Info tool for Symbian 9.1 SIS files

V0.5 works much better, thanks very much. I tested on 3-4 sis files. -e option worked fine on all except one. The one it failed on gave error below:

Traceback (most recent call last): File "C:\Program Files\sisinfo\sisinfo.py", line 201, in <module> handler.execute(options) File "C:\Program Files\sisinfo\sisinfo.py", line 130, in execute newFile = file(path + os.sep + parts[len(parts) - 1], "wb") IOError: [Errno 2] No such file or directory: u'C:\\Temp\\sisinfo_test\\out\\*.*'

SIS Info tool for Symbian 9.1 SIS files

I am having trouble installing this tool.

I am brand spanking new to python and don't know why I am getting file not found errors and permission denied errors.

This is what I have tried:

placing the folder "sisinfo" in the python directory and in the lib directory. I also extracted the sysinfo.py and setup.py files and put them in both the python directory and in the lib directory. Just to keep things simple I went ahead and placed the object file "file.sisx" into the python directory so that I could call python without changing directories or altering my Windows "PATH" variable.

Any help would be greatly appreciated.

Thanks

SIS Info tool for Symbian 9.1 SIS files

I'm also using Python 2.5 on Windows and the latest version of SisInfo, but get the error shown in the previous post.

SIS Info tool for Symbian 9.1 SIS files

Hi,

I have just added a piece of lines to the code and it solved the IOError problem.

from line 130-137 in sisinfo.py:

os.makedirs(path)<BR> try:<BR> newFile = file(path + os.sep + parts[len(parts) - 1], "wb")<BR> newFile.write(self.fileDatas[f.fileIndex].findField(sisfields.CompressedField)[0].data)<BR> newFile.close()<BR> except IOError, (errno, strerror):<BR> print "I/O error(%s): %s" % (errno, strerror)<BR> for s in self.signatureCertificateChains :<BR>

Take care with the idents (TABS)!

Hope this helps

Re: SIS Info tool for Symbian 9.1 SIS files

very useful , work perfect thanks

Re: SIS Info tool for Symbian 9.1 SIS files

some more tools for SiS extraction
http://www.symbian-toys.com/sisxplorer.aspx