引文
“近日symbian 3rd权限被破解的,高手们都已经开始了尝试,有的人已经成功了。它的原理是通过修改刷机包,更改software installer程序的配置文件 Z:systemdataswpolicy.ini中有关用户在安装程序过程中可以赋予程序权限的列表,以及是否允许安装unsigned文件(非必须)的相关字段,使AllFiles等敏感权限也可由用户授予。经测试除DRM外的所有权限均可由这种方式授予。
应用:
拥有AllFiles权限的文件管理器可以读写private、system目录以及读取sys目录,写resource及sys目录需要TCB权限,但不幸的是根据DLL载入规则(下详),没有任何带有TCB权限的GUI程序能够正常运行,因此对TCB权限并没有做多少测试,目前仅知道TCB权限也可由用户授予。至于DRM权限经本人测试似乎无法以这种方式授予,还好这个权限貌似对于大家来说并不是特别重要。
这里有一个例子,symbian推荐FEP程序(输入法)应该具有ALL-TCB权限(代表除TCB外的所有权限),理由是所有程序都需要输入法,故输入法DLL需要被所有程序载入。这里先说一下DLL载入规则,symbian规定某程序要加载某DLL文件,那么DLL的权限必须高于或等于程序的权限,或者说程序的权限必须包含于DLL的权限中。DLL的权限并不表明DLL需要用到的特权API,而是表明DLL能被多高权限的程序信任。因为DLL被载入程序后就有了主程序一样的权限,这样的规定使DLL无法通过注入高权限程序从而提高权限进行破坏活动。回到话题,事实上并不是“所有程序都需要输入法”,我在常见的需要输入法的程序中很少有看到有DRM及TCB权限的,因此ALL-DRM-TCB权限对输入法基本够用,而恰好我们无法赋予DRM权限。A4输入法高权限内测版正因为需DRM权限无法安装,若重新定义ZTA4.dll及ZTA4Srv.DLL的权限为ALL-DRM-TCB即可顺利安装并正常使用。注:日历程序calendar.Exe要求DRM权限,故修改后的A4无法在日历中使用。
可能的应用
若能够找到并修改software installer信任的根证书,则我们可以自己发布高权限证书供自己使用。
这里需要澄清一个误解,很多人把证书和签名看成了一回事,大概主要是因为证书比较难获得,而Key容易得到,因此忽略了私钥的重要性。实质上就加密原理而言,私钥比公钥更重要。证书实质上是经过认证机构签名后的公钥,它可以而且应该是公开的,合适的不可逆加密算法使得很难从公钥得道私钥。从理论上讲xx权限后,我们完全可以得到nokia签名的根证书,但是基本上无法得到私钥,就签名而言毫无意义。将Nokia的根证书改为我们自己做一个根证书才是有可能成功的思路。附注:SWI信任的根证书存放于Z:resourceswicertstore .dat.
可能可以做一个全功能的文件管理器,必须有非特权的客户端GUI程序以及具TCB,AllFiles权限的console服务程序,一切特权操作均由服务端完成,由于很多系统DLL是ALL-TCB权限的,该服务端程序无法调用,估计编程难度较大。但如果成功的话我们可以直接修改C:sys目录下bin及hash目录,那么再也没有证书的烦恼了.
存在的问题:
unsigned的安装包没有权限添加启动项,因此无法自启动。同时经过xx的系统在安装UID在0x80000000后的经DevCert签名的程序很可能忽略证书而直接安装(其现象是不出现“此应用程序仅供开发之用……”的提示)从而也无法自启动。可能的解决办法至少有3种:
1.若该程序不需要高权限,用有效的开发者证书签名安装,或者给安装包分配一个protected UID,那么在证书过期时安装会提示出错而不是忽略证书,作为unsigned安装。因为,拥有protected UID的安装包无法以unsigned或selfsigned包安装,否则将提示“无法安装不受信任提供商提供的受保护程序”。
2.更改C:private100059c9start.dat,可惜的是具体格式未知,有谁研究清楚请务必告知。注意:在C:private101f875astartup中手工添加条目无任何意义,另外也别尝试将[xxxxxxxx].rsc直接复制进c:private101f875aimport
3.安装powerboot,但不是完美解决方案,某些程序通过判断是否是自启动实现不同功能,如是否显示界面或者是直接进行某些操作;经查资料得知要使程序认为是自启动必须使其参数的某字段为空。另,经测试selfboot可以较好实现这一功能。 ”
个人观点
我认为现阶段还是继续用签证书比较好.虽然权限破解后就省去了许多繁琐的工作.但权限破解本身就是一件很繁琐的事情.并且危险系数极大.况且还有一大堆法律问题在里面.我想SYMBIAN和NOKIA不会坐视不理的.毕竟他们见SYMBIAN升级到3.0以上就是为了防止病毒以及一些盗版开发商的违法开发.如今诞生了这种新的破解方法.那么他们升级的初衷遍完全失去了意义.
所以我推荐各位新人还是继续使用签名.不仅安全.方便.操作简单.更重要的是可以避免由此产生的纠纷.而那些高手和不怕麻烦缠身的人,我们也会给与理解,毕竟谁都希望自己的机器可以尽善尽美.以上是本人的一点想法.希望能对大家有点启示
标签:
留言评论