手里有台 Kindle 10(序列号 G091 开头,青春版)。虽然网上总是笑称 Kindle 是“泡面盖”,但我还是经常用的。虽然我不怎么爱看书,但是想看书的时候都会拿它看。
〇、越狱的目的#
KOReader 是一个开源的电子书阅读系统。我是准备完全抛弃亚马逊的原生系统的,虽然中学时期在亚马逊书城买过书,但是无所谓了,还是彻底投奔 Z-Library 吧。KOReader 相比于原生系统,主要有几个点吸引我:
1. 阅读区域几乎完全可自定义#
167 PPI 对我来说并不会“不清晰”。事实上,因为电子墨水屏的特殊性,文字的毛边也不会很锋利,就当是墨水纹理(?)。但是原生系统的页边距和行距可调范围非常逆天,页边距即使开到最小我也嫌大。
2. 文件管理器的书架逻辑#
原生系统那种强行打散文件夹、靠“集合”来分类的逻辑我一直用不习惯。KOReader 则直接保留了标准的目录树结构,我可以像在电脑上一样,按作者或类别建文件夹存书。
3. 拥抱 EPUB#
AZW3是亚马逊典型的大公司行径,Kindle原生系统对 EPUB 这个最通用的电子书格式极不友好。而 KOReader 原生完美支持 EPUB,配合无线传输,爽快得多。
4. 性能和续航#
Kindle 10 代青春版的硬件配置惨不忍睹:512MB 内存,性能孱弱的单核处理器。
原生亚马逊系统本质上跑在一个笨重的 Java 框架上。KOReader 支持的 No Framework 启动模式能够杀死这个 Java 框架,其自身是个轻量得多的系统,能够带来更好的性能表现和续航。
带着这样的想法,我开始了折腾。本来以为会很简单的,实际上踩了一些坑……但整体上来说还是很简单的。
一、轻松迈过旧时代,但步子迈大了#
我的 Kindle 的版本号是 5.13.2。根据 Bookfere 找越狱方法,这个版本的 Kindle 可以利用内置网页浏览器解析 JPEG XR 时出现的缓冲区溢出实现越狱。具体可以搜索这个帖子《KindleBreak – Software Jailbreak for (almost) any Kindle <= 5.13.3》,Bookfere 提供了完整的傻瓜式教程。
按照教程推进,越狱成功了。
结果教程说:“越狱成功后,建议将 Kindle 更新到最新版本固件,以修复 JPEG XR 解析漏洞。”我就升级到了 5.18.1 最新版本。但即使提前装了 Hotfix,在更新后依旧越狱失效了,白忙活一场。尝试 MobileRead 的一些方法无果后,只能在 5.18.1 下另寻他法。
TIP
教训:一旦固件版本越过了漏洞临界点,任何基于旧逻辑的重试都是没用的。
二、新时代的失落与惊喜#
既然固件已经到了 5.18.1,JPEG XR解析漏洞被修复了,思路就必须切到针对 5.16.4 ~ 5.18.3 的新漏洞——Sanctuary。具体来说,我跟随 Kindlemodding 上的方法。这个漏洞原理主要是利用了系统组件在处理特定本地资源加载时的提权漏洞,通过内置浏览器触发脚本,从而拿到系统的 Root 权限。
第一次尝试卡在网页下载,在使用魔法后,又尝试了三四次,期间排列组合试过恢复系统和填满系统内存至剩下 80MB 或 150MB。最后一次是恢复系统之后的第二次尝试,填满系统存储至剩下 150MB。在执行完所有操作后依旧无反应,之后在我寻找别的越狱方法时,突然我的 Kindle 报错并白屏,过一会恢复,书架里出现了 JAILBROKEN 的文件。
我猜想几次失败可能是和我的设备内存太小有关的。512MB 内存的 Kindle 10 可能在运行越狱的一些脚本的时候力不从心。
三、愉快的 Setup#
Sanctuary 安装完会自带一个 KPM 包管理器,这有点类似 Linux 上常用的包管理器。但我选择了无视它,转而自己安装了 MRPI、KUAL 和 KOReader。这样做主要是考虑到前者总是需要魔法,以及后者据说更加稳定。
我还给 Kindle 制作了点对点 600×800 的Tips! 屏保,赏心悦目。
总体就是这样。字体上,我的 Android、Win、Linux、Kindle 目前用的都是 OPPO Sans 4.0 这个免费商用字体,它主要是出锋比较少,例如“口”字显示的是一个正方形,不会有笔锋,字形也比较圆润,在各种分辨率的屏幕上都非常锐利,我非常喜欢。