现在的位置: 首页 > 综合 > 正文

About Symbian Capabilities

2013年02月07日 ⁄ 综合 ⁄ 共 1755字 ⁄ 字号 评论关闭

Symbian平台在设计时,考虑到安全性,为程序发布设计了Capability,程序只能进行指定能力的系统操作。

Capability又分多个级别,实际应用中,不是所有开发者都能申请到这些级别认证的,所以程序发布就受到了一些限制。

为程序指定能力,只需要在mmp文件中编辑这一行:

CAPABILITY MultimediaDD WriteDeviceData ReadDeviceData LocalServices Location NetworkServices ProtServ SurroundingsDD SwEvent UserEnvironment WriteUserData

想写多少能力上去都行,但实践证明,Capability是与你所使用的签名证书(certification)相关的,一般开发者使用 的seft signed certification证书,即使写上去这么多Capability,也是没有用的。这时候就需要使用更高些级别的签名证书了。签名证书一般是有使用 期限的。

下面的文章是从网上找到的,貌似可以突破限制,使用所有系统能力。

还没有试验过,先贴上来:



原贴  
How to grant any capability to self signed applications

I wonder how Nokia would react to the fact that it is so easy to actually give ANY capabilty to an executable using standard tools that come with the SDK (please note: THIS IS NOT A HACK or CRACK)

1) Create your application using any of the S60 3rd Edition SDK, using a UID grabbed from the unprotected range (see: http://www.symbiansigned.com to have yours allocated) 2) Compile for GCCE/ARMV5 3) Before packing your application into SIS use this command for every EXE/DLL that your application is composed of:

elftran -capabilities [capabilties set] drive:/sdkpath/yourapp.exe

i.e.:

elftran -capabilities WriteUserData+AllFiles+TCB S:/Symbian/9.1/S60_3rd_MR/Epoc32/release/GCCE/UREL/myApp.exe

Remember to grant same capabilities to all your application components (DLLs, plugins etc). that composes the app not just the main exe, otherwise it won't work

4) Create you own self certificate with makekeys 5) Create the SIS file with makesis 6) Sign the SIS using your self certificate

Install.... even if the user will be still adviced that he/she is installing an application from an untrusted source, once done, the application has access to everything, even to manufacturer granted only capabilities (I'm sure you have already noticed the TCB and AllFiles I have put in the example).

If I knew it before, this would have saved me around 12.000 $US in signing fees, counteless days waiting for something to be tested and a lot of frustation.

Cheers, Lev

抱歉!评论已关闭.