Skip to content

Commit e36c3e1

Browse files
committed
new post MiPay4XiaomiEU.md
1 parent ea9f91c commit e36c3e1

5 files changed

Lines changed: 74 additions & 3 deletions

File tree

archetypes/post.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ slug: "{{ replace .Name " " "_" | title }}"
1414
# hidemeta: false
1515
# comments: false
1616
# description: "Desc Text."
17-
image: "https://www.dmoe.cc/random.php"
17+
# image: "https://www.dmoe.cc/random.php"
1818
---

content/authorized_keys

Lines changed: 0 additions & 2 deletions
This file was deleted.
86.2 KB
Loading
31.1 KB
Loading
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
---
2+
title: "XiaomiEU 固件添加国行 NFC"
3+
date: 2025-12-12T20:50:27+08:00
4+
math: true
5+
slug: "MiPay4XiaomiEU"
6+
# weight: 1
7+
# aliases: ["/first"]
8+
# tags: ["Tag1","Tag2"]
9+
# categories: ["XCPC"]
10+
# author: ["Me", "You"] # multiple authors
11+
# showToc: true
12+
# TocOpen: false
13+
# draft: false
14+
# hidemeta: false
15+
# comments: false
16+
# description: "Desc Text."
17+
# image: "https://www.dmoe.cc/random.php"
18+
---
19+
20+
近期将手机从 AfterlifeOS 这一类原生刷回了 HyperOS3, 小米14 的类原生还是不够完善
21+
22+
不过国行版本的 HyperOS 不超过三天就让我想把手机摔了, 因此刷了基于国行固件的魔改版本 [XIAOMI.EU](https://xiaomi.eu/community/)
23+
24+
但是刷完之后, 国行的 NFC 功能用不了, 我的车钥匙/门卡/交通卡可还依赖这玩意呢
25+
26+
找了一下还没有适配当前版本的 Kernel SU 模块, 于是自己解包做了一个
27+
28+
## 解包国行系统包
29+
30+
先下载国行包并解压
31+
```bash
32+
wget https://bkt-sgp-miui-ota-update-alisgp.oss-ap-southeast-1.aliyuncs.com/OS3.0.5.0.WNCCNXM/houji-ota_full-OS3.0.5.0.WNCCNXM-user-16.0-306ce971bf.zip
33+
unzip houji-ota_full-OS3.0.5.0.WNCCNXM-user-16.0-306ce971bf.zip payload.bin
34+
```
35+
现在的安卓刷机包大多会打成 payload.bin 这种包格式, 需要先解包
36+
37+
```bash
38+
wget https://github.com/ssut/payload-dumper-go/releases/download/1.3.0/payload-dumper-go_1.3.0_linux_amd64.tar.gz
39+
tar -xvf payload-dumper-go_1.3.0_linux_amd64.tar.gz
40+
chmod +x payload-dumper-go
41+
./payload-dumper-go -o ./ ./payload.bin
42+
```
43+
44+
查看文件尺寸, 最大的是这个 `product.img``file` 指令查看后可以知道这是个 `erofs` 的单分区镜像包, 我们将其挂载
45+
46+
```bash
47+
pacman -S erofs-utils erofsfuse
48+
mkdir product
49+
mount -t erofs -o loop product.img product
50+
```
51+
52+
然后在挂载镜像的 `app` 目录下找到 `MINextpay` `MITSMClient` `UPTsmService` 三个必要组件, 将其打包成一个最简的 KernelSU module 刷入即可, 也就是只有 `system/app/组件``module.prop` 文件的最简包
53+
54+
```bash
55+
cp -a ./product/app/MINextpay ./module/system/app/MINextpay
56+
cp -a ./product/app/MITSMClient ./module/system/app/MITSMClient
57+
cp -a ./product/app/UPTsmService ./module/system/app/UPTsmService
58+
cp -a ./product/app/MIUISuperMarket ./module/system/app/MIUISuperMarket
59+
```
60+
61+
为了方便后续更新版本, 做了个 Github Action 用来打包
62+
63+
其中奇怪的一点是, 在 Action 中使用 `mount -t erofs -o loop product.img product` 挂载镜像后 拷贝之后, 执行到 cp 这一步的时候会报
64+
65+
![挂载](actionError1.png)
66+
67+
![Github Action 报错](actionError2.png)
68+
69+
看上去是内存超限了的样子
70+
71+
因此换成了 `fsck.erofs product.img --extract=product` 指令将镜像中的文件提取出来
72+
73+
最后成品可以在 https://github.com/ReiAccept/MiPay4XiaomiEU 中找到

0 commit comments

Comments
 (0)