Wenri/planet-pda-archive
GitHub: Wenri/planet-pda-archive
Planet Computers Gemini PDA 与 Cosmo Communicator 两款 MediaTek MT6797 安卓翻盖 PDA 的固件、root 工具及逆向工程产物的个人存档仓库。
Stars: 0 | Forks: 0
# Planet Computers PDA 档案
这是一个个人档案(于2020年中期整理),包含两款 Planet Computers Android 翻盖 PDA 的固件、ROM、Root 工具以及逆向工程产物。
它是一系列二进制文件和笔记的集合,而不是一个软件项目——没有任何需要构建的内容。
| 设备 | SoC | 代号 | 备注 |
|---|---|---|---|
| **Gemini PDA** | MediaTek MT6797 (Helio X25/X27) | `k97v1_64_bsp` | 多重引导 Android + Linux |
| **Cosmo Communicator** | MediaTek | — | 带有辅助 STM32 封面显示屏 ("CoDi") |
## 下载
九个大于 GitHub 100 MB 推送限制的固件/安装程序文件**不包含在 git 树中**——它们被附加在 [Releases](../../releases) 页面。可以从那里获取,或者使用 CLI:
```
gh release download firmware-2020 --repo Wenri/planet-pda-archive
```
其他所有内容(boot 镜像、OTA、CoDi 固件、FOTA 镜像、APK、反编译树、脚本和笔记)都直接提交在此 repo 中。
## 布局
```
Cosmo/ Cosmo Communicator firmware, boot images, CoDi firmware
CoDi/ Offline mirror of Planet's CoDi FOTA server
Gemini_Firmware/ Gemini PDA Android + Linux firmware and the flash scatter file
APKs/ Rooting (Magisk), debloat scripts, decompiled system apps
OpenSource.txt Kernel sources, Gemian/Debian, tooling, and research links
```
## Cosmo Communicator (`Cosmo/`)
**Android 固件**
- `cosmo-android-v19.zip`, `cosmo-android-v22.zip` — 完整固件镜像。
- `Updatepackage-v20_v21.zip`, `ota_v22_V23.zip` — 增量 OTA 包。
- `cosmo-customos-installer-*.zip` — Planet 的 Custom OS / 多重引导安装程序(`beta`, `Linux`, `v2`),用于在 Android 旁边安装 Linux。
- `User-Manual-4548206.pdf` — 设备手册。
**Boot 镜像**在每个固件版本中均以匹配的 **stock / Magisk** 对的形式提供:
- `boot-v22-stock.img` / `boot-v22-magisk.img`
- `boot-v23-stock.img` / `boot-v23-magisk.img`
- `magisk_patched.img`, `boot-verified.img` — 可用/中间状态的镜像。
刷入 `-magisk` 镜像以获取 root 权限;保留匹配的 `-stock` 镜像,以便在进行 OTA 之前进行恢复(OTA 拒绝在已修改的 boot 分区上应用更新)。
**CoDi(封面显示屏)固件**
- `Cosmo_firmware-stem_ospi2_1_1_1_14.bin` + `Cosmo_resource-stem_resource_1_1_1_14.bin` — CoDi 运行自己的 STM32 固件,始终以 **代码 + 资源** 的形式配对。
- `CoDi/p2w.pripla.com/` 是 Planet CoDi FOTA 服务器的 `wget` 风格离线镜像。清单文件 `stm32flash/cosmo_stm32_firmware_versions.txt` 是关键:
- `F:` 行将每个 CoDi 版本映射到其文件路径、大小和 MD5。
- `A:` 行将 Android 构建版本映射到它接受的 CoDi 版本——例如,`Cosmo-9.0-Planet-09032019-V9` 接受 CoDi `V1.1.1.4` 和 `V1.1.1.5`。
- 镜像了版本 `V1.1.1.0`–`V1.1.1.14`(以及测试构建 `T1.1.1.15`)。
## Gemini PDA (`Gemini_Firmware/`)
- `gemini_x25_x27_base.zip` — 基础 Android 固件(X25/X27 变体)。
- `gemini_WIFI_base.zip` — 仅限 WiFi 的变体。
- `debian.zip`, `kali.zip` — 用于多重引导的 Linux rootfs 镜像。
- `Gemini_x25_x27_A32GB_L24GB_Multi_Boot.txt` — 用于 SP Flash Tool 的 **MTK scatter 文件**。定义了多重引导分区表:约 32 GB 的 Android 分区 + 一个 24 GB 的 `linux` 分区,并为 Debian 和带有 root 的 Android kernel 分别设有 `boot2`/`boot3` 分区。在重新刷写完整布局时编辑/选择此文件。
## Root 与精简 (`APKs/`)
- `Magisk-v20.4.zip`, `MagiskManager-v7.5.1.apk` — root 解决方案。
- `Vending.apk` (Play Store), `ims.apk` (VoLTE/IMS), `pm/Phonesky.apk`, `pm/Fota.apk` — 用于(重新)安装的系统 APK。
- `pm/` 和 `ext/` — 使用 apktool 反编译的 smali 树,用于检查,**不是**可构建的源码:
- `pm/` — 受到审查的官方 `/system/priv-app` 包:`Baidu_Location`、`EngineerCode`、`Phonesky` 以及 Digitime 的 `Fota` 更新程序。
- `ext/` — Cloudflare 的 `1.1.1.1` 应用 (`com.cloudflare.onedotonedotonedotone`)。
- 如果需要,使用 `apktool b ` / `apktool d ` 重新构建/重新解码。
### 精简工作流(此处唯一可运行的内容)
背景:发现这些设备上预装的 Digitime FOTA 更新程序(`com.dtinfo.update`)是一个后门(参见 `OpenSource.txt` 中的 wuffs.org 链接)。`pm/` 中存放了它的反编译副本;`disable-boot/` 会在 **已 root** 的设备上通过 adb 禁用它以及其他臃肿软件:
```
cd APKs/disable-boot
sh boot.sh
```
`boot.sh` 会将 `disable.sh` 和 `import-debloat.txt` 推送到 `/sdcard`,并通过 `su` 以 root 身份运行 `disable.sh`。该脚本会对以下程序执行 `pm disable`:
`com.dtinfo.update` (Digitime FOTA)、`com.baidu.map.location`、`com.mediatek.ppl` 以及 `com.mediatek.duraspeed`。这些禁用操作会在恢复出厂设置或重新刷写固件后被清除,因此在执行其中任何一项操作后都需要重新运行。
## 刷机工具
| 任务 | 工具 | 方法 |
|---|---|---|
| 完整固件 / 多重引导布局 | **SP Flash Tool** | 加载 `..._Multi_Boot.txt` scatter 文件 |
| 替换单个 boot 镜像 (stock ↔ Magisk) | **fastboot** | `fastboot flash boot
` |
| CoDi 封面显示屏固件 | 设备端 CoDi Assistant | 从镜像于 `Cosmo/CoDi/` 中的 FOTA 服务器拉取;保持代码 + 资源 `.bin` 版本配对 |
## 来源与研究
`OpenSource.txt` 收集了构建此档案所用的上游链接:kernel 源码(NotKit、dguidipc、gemian)、Gemian Debian 项目、`cosmo-lk` bootloader、SP-Flash-Tool 源码、Ninji/Treeki 的 OpenCodi 自定义 CoDi 固件,以及 wuffs.org 上关于 Digitime FOTA 后门的文章。它还记录了工程模式拨号代码:`*983*0#`。
## 许可证
这里的原始材料——`APKs/disable-boot/` 脚本、`OpenSource.txt` 中的精选笔记以及本文档——均基于 [WTFPL](LICENSE) 发布。
固件镜像、OTA/boot/`.bin` blob、APK 以及反编译的应用程序树**不**归我所有许可:它们仍归 Planet Computers、MediaTek、Google、Baidu、Cloudflare、Digitime 及其他各自所有者所有,此处仅出于存档和互操作性目的进行镜像。希望删除某些内容的权利所有者可以提一个 issue。
标签:Cutter, Root, 云资产清单, 固件, 安卓, 物联网/嵌入式, 硬件设备, 逆向工程