在Linux等UNIX家族操作系统玩转Symbian! |
发布: 2010-11-03 16:06 |
一、前言 我在这里运用简单的文字向同学们介绍如何在Linux操作系统下完成对Symbian系统的一些操作,这里讲的内容适用于同是采用塞班系 统的UIQ系以及S60系(含S60v5!)平台。另外,我在这里要郑重说明的是,塞班公开了这些工具的源代码,这里讲的内容也同样适用于 FreeBSD、Mac OSX等等Unix家族操作系统。同时,借助Wine相同程序的最新版本在Wine可支持的操作系统上同样可以工作的很好。在这篇文章中,我将向大家介绍 怎样获取相关工具,如何运行这些工具生成证书(根证书)、签名软件、打包、脱壳等基本操作。 二、工具介绍 塞班在一个名为“塞班开源交流中心”的网站上公布了一些塞班工具的源代码。这里我们可以找到常用到的一些工具,分别是:makekeys、signsis、makesis、petran。makekeys 证书生成工具,这个工具可以生成塞班操作系统支持的.cer证书及.key钥匙文件。我们在制作自己的根证书,或者开发人员向塞班申请正式证书时会用到这个工具。signsis 签名工具,我们安装需要签名的软件时,可以通过这个工具完成签名操作。makesis 打包工具,我们需要向同学们发布sis安装包时,可以通过这个工具完成打包操作。petran是PE文件预处理器,我们汉化或者破解塞班程序时,通常需要借助这个工具完成脱壳操作。 三、获取工具 上述四个工具分别包括在两个软件包中,使用控制台下载工具wget下载他们,命令如下。 #建立一个名为s60的文件夹,我们把工具都放在这里,免得搞乱系统。 mkdir s60 cd s60 #下载makesis软件包,包含makesis signsis makekeys 三个工具 wget http://www.symbianos.org/download/makesis_2.0.0-1.tar.gz #下载petran软件包 wget http://www.symbianos.org/download/petran_1.0.0-2.tar.gz 因为我们下载的是源代码,所以在使用前我们需要先进行编译。要注意的是,编译一个软件需要安装编译器和对应的开发库,如果您还没有请查阅操作系统的安装指南了解相关信息。这些软件包的编译方法如下。 #编译makekeys makesis signsis tar xvf makesis_2.0.0-1.tar.gz cd makesis-2.0.0 make #返回上一层目录 cd .. #编译petran tar xvf petran_1.0.0-2.tar.gz cd petran-1.0.0 make #返回上一层目录 cd .. 编译完成之后,我们把我们需要的程序复制到一块儿,最好是复制到/usr/bin目录下(需要root权限),这样调用起来方便,命令如下。 #安装 makekeys makesis signsis cd cd makesis-2.0.0/src #复制文件到/usr/bin,需要root权限! sudo cp makkeys makesis signsis /usr/bin cd ../../ cd petran-1.0.0/petran #复制文件到/usr/bin,需要root权限! sudo cp petran /usr/bin cd ../../ 在这里fedora系的用户要注意,执行带sudo的命令时会提示当前用户不具备sudo权限,这种情况只需要先执行su命令成为root,再执行那些命令不输入sudo就可以了。 四、makekeys签名工具的使用 makekeys 默认产生密钥长度1024位(最大长度4096位)、一年期限的证书。这个程序除了证书之外还可以查看已有证书。我先向同学们介绍一下证书生成的方法。 makekeys -cert [-password] [-len keylength] [-expdays days] privatekey certificate # -cert 要求生成证书 # -password 要求设置密码 # -len 密钥长度 # -expdays 过期时间,以天为单位 #privtekey 命名产生的密钥 #certificate 命名产生的证书 生成证书演示: makekeys -cert -expdays 730 test.key test.cer 执 行这个命令后,将产生一对1024位,从当前算起有效期2年的test.key密钥以及对应的test.cer证书文件。在执行命令makekeys生成 证书时,会有一个交互过程,要求您回答一些问题,我把英文的问题做了一下翻译,根据自己的情况、喜好,进行回答即可。一个完整的申请过程如下: $makekeys -cert -expdays 730 test.key test.cer Generating DSA parameters, 1024 bit long prime This could take some time .+......+................+..++++++++++++++++++++++++++++++++++++++++++++++ ..+.+.......+...........+...........+..............+.....+.....+.+........ You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [GB]: #国家代码,中国填CN。 State or Province Name (full name) : #所在省份,填写省份拼音全写。 Locality Name (eg, city) [Newbury]: #所在城市,填写城市拼音全写。 Organization Name (eg, company) [My Company Ltd]: #公司名称,填我们自己的大名的拼音好了! Organizational Unit Name (eg, section) []: #部门名称,同上。 Common Name (eg, your name or your server's hostname) []: #申请人,填写我们的姓名或者网址什么都可以。 Email Address []: #电子邮件地址 Done #看到Done说明我们的证书已经制作好了! 查看证书,相当简单,只要执行下面的命令即可。 $makekeys -view 证书.cer文件名 为sis文件签名: $signsis helloworldbasic.sis helloworldbasic.sisx mycert.cer mykey.key PS: makesis和petran在64位系统编译时有问题,需要使用-m32模式编译成32位程序. more: 原来这几个工具有新版本,在http://www.martin.st/symbian/ 下载makesis-4包, 可支持64位系统,成功编译出makekeys, makesis, signsis三个程序. petran也有1.1.0的包了.同时更新.系统兼容性更好. 由于手机软件权限级别的问题,这种签名方式只能应用于低级别权限要求的程序包. |
原文: http://qtchina.tk/?q=node/522 |
Powered by zexport
|