Hack Until It is Dead II – Nokia E72, and Symbian S60v3

/ 0评 / 0

有些时候我们或许真的应该放下过去、拥抱未来了。

最近购置了一部二手的 Nokia E72i. 翻新过,所以倒不是完全的伊拉克成色。之所以购置这部手机,一来是满足自己小时候的一个不切实际的愿望;二来是觉得直板全键盘机器有一种在这个时代所见不到的特殊的美感,而自己手头上还是有 Symbian S60 SDK 的。

那么,既然机器到手,操刀实用化。

硬件指标

需要使用全尺寸 SIM 卡,这点当然是常态。

存储方面,支持插入一张 MicroSD 卡,并且支持热插拔。随便找一张 8Gi 的卡插进去就能用。

硬件条件满足后,下一步肯定就是装软件。

应用商店

不出意外的,现在几乎很难找到 S60 应用程序商店了。dospy 论坛原来是最大的塞班论坛,但现在已经关站,域名也不再解析;以前如日中天的当乐网,现在也不再提供任何塞班应用的下载;无数网站,随着塞班的消逝而消失了。

不过,借助谷歌的力量(搜索和翻译),可以找到一些俄语网站仍然提供塞班软件的下载。dospy 方舟站也保存了一些列表可供参考。

以及,360 的塞班版仍然提供了一个差不多能用的应用商店——至少你还能打开它、下载应用。虽然图片和评论是没有了,以及满打满算也就一百来个应用,但至少常用的东西都在。当然,不要想着这玩意还能上 QQ 微信和支付宝——就算能找到安装包,它们的绝大部分功能都不能用了。

破解应用签名

当你把应用传输到手机上准备安装时,基本只有两种可能:证书已过期和证书错误。

对于证书过期的问题,可以先把手机的日期调回 2010 年到 2012 年左右,安装程序后再调回来。但对于证书错误,我们就需要一些小手段。

关闭签名检查

首先,确定系统已经关闭了签名要求,这样我们就可以安装没有签名或者自签名的软件。

转到控制面板 - 设置 - 应用程序 - 程序管理;将软件安装的值设置为「全部」、在线证书检查设置为「关」。这样对于没有签名的程序,就可以安装到手机内。

通过安装 sis 编辑器,你可以替换一些应用程序的签名为万能签。

破解应用签名要求

但有些时候这样做仍然是不够好。有些应用程序即使替换了签名也仍然会报签名错误,以及为了安装程序就需要改时间确实不方便。那么这时候我们就需要破解应用签名

破解签名的方法是利用杀毒软件的隔离区恢复功能向系统关键位置写入代码,具体操作方法是这样的:

  1. 下载并安装 RomPatcher+ 3.1 Lite 到设备内部存储;
  2. 进入文件管理器,选择弹出 SD 卡,并把 SD 卡取出;
  3. 将 SD 卡插入读卡器,连接计算机;
  4. 下载这个压缩包,并将内容解压到 SD 卡根目录下(合并 Private 文件夹);
  5. 将 SD 卡从读卡器取出并插入 SD 卡到设备;
  6. 下载并安装 DrWeb6 for Symbian 到 SD 卡;
  7. 启动 DrWeb, 它可能提示授权过期,可以无视;
  8. 选择 Options - Quarantine;
  9. 选择 Options - Select All;
  10. 选择 Options - Restore;
  11. 退出并卸载 DrWeb
  12. 进入 RomPatcher+;
  13. 选择 Options - All Patches - Apply;
  14. 两个条目现在都应该是绿色的钩,表示破解成功;
  15. 选择 Options - Add to Auto 开机自动破解。

完成破解后,安装任何程序都不会再检查前面。之前出现证书错误的应用也可以直接安装了。

导入根证书

自然,因为设备太老,所以有许多根证书需要更新。可以直接将计算机信任的根证书导出,并喂给设备:

#!/bin/bash

certs=$(find /etc/ca-certificates/extracted/cadir/ -type f)

for c in $certs; do
        echo $c
        outname=$(echo $c | sed 's#/etc/ca-certificates/extracted/cadir/##g')
        echo $outname
        openssl x509 -in $c -out $outname.cer -outform DER
done

这个脚本会将系统上所有根证书导出为 DER 格式到当前目录下,接下来就是将这些文件传输到设备,然后挨个把能导入的证书导入进去。导入时勾选所有证书用途。

放弃

在完成了一系列操作之后,我遇到了机器上的最大 Bug: 它的 SSL 版本只能支持 TLSv1.0. 这意味着,就算之前导入了新的根证书,这部机器也无法和外界通信,因为大家都是 TLSv1.2 起跳的。

要能和外界通信,需要移植一个实现了 TLSv1.2 的 SSL 库。尽管已经有人完成了这样的工作,其他应用也需要主动调用才能从中受益。这意味着需要自己写浏览器、地图、邮件客户端……这么大的工作量是我完全没有预期到的。打出 GG.

结论

Symbian 的开放性终究是不大允许我们搞各种乱七八糟的事情。相比之下,基于 Linux 的 N900 更有复活的意义和必要。

有些东西、有些人,终究是属于过去的。我们对过去的记忆并不是完美的,我们会忘记过去遭受的种种不便、放大过去的种种美好。

有些时候,有些事情,向未来看还是很重要的。我们回顾过去的原因是为了不再犯过去出现的错误,而不是想着复现过去的美好——因为过去的美好只存在于脑海而不是历史。(或许,可以当一个愿景,但——)

总之,这当然属于一部拿到了就肯定不会再卖掉的设备。Hack until it's dead. I guess it's practically dead. But still, effort could be made.

发表评论

邮箱地址不会被公开。 必填项已用*标注