Skip to content

Commit

Permalink
feat: merge 2023-12-22
Browse files Browse the repository at this point in the history
  • Loading branch information
Jesse205 committed Dec 21, 2023
1 parent d5b87b4 commit bfb3b70
Show file tree
Hide file tree
Showing 8 changed files with 83 additions and 20 deletions.
16 changes: 12 additions & 4 deletions .vitepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ interface ThemeConfig extends DefaultTheme.Config {
}

// 原始文档日期
const ORIGIN_DOCUMENT_DATE = '2023年05月13日'
const ORIGIN_DELTA_DOCUMENT_DATE = '2023年08月15日'
const ORIGIN_DOCUMENT_DATE = '2023-12-22'
const ORIGIN_DELTA_DOCUMENT_DATE = '2023-08-15'

const MATCH_RELEASE_REG = /- \[(v[\d.]*)\]\((\d*).md\)/g

Expand Down Expand Up @@ -61,10 +61,18 @@ const DELTA_LINKS: DefaultTheme.NavItem[] | DefaultTheme.SidebarItem[] = [
const sidebar: DefaultTheme.Sidebar = {
'/delta/': DELTA_LINKS
}

let allItems: DefaultTheme.NavItem[] | DefaultTheme.SidebarItem[] = [...NORMAL_LINKS, ...DEVELOPER_LINKS]
// 生成侧边栏
for (let group of allItems)
if (group.items) for (let item of group.items) if (item.link) sidebar[item.link.replace('.html', '')] = [group]
for (let group of allItems) {
if (group.items) {
for (let item of group.items) {
if (item.link) {
sidebar[item.link.replace('.html', '')] = [group]
}
}
}
}

// 匹配版本号
const releaseFileContent = fs.readFileSync('./releases/index.md', 'utf8')
Expand Down
4 changes: 4 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
{
"cSpell.words": [
"bootloader",
"DATABIN",
"genfscon",
"libsepol",
"magisk",
"MAGISKDB",
"magiskinit",
"MAGISKTMP",
"RAMDIS",
"ramdisk",
"resetprop",
"rootdir",
"sepolicy",
Expand Down
24 changes: 24 additions & 0 deletions changes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
# Magisk 更新日志

## v26.4

- [MagiskBoot] 如果签名启动镜像较大,则不要填充零
- [MagiskPolicy] 修复 `genfscon``filename_trans`
- [MagiskPolicy] 修复了 `libsepol` 中的错误
- [Zygisk] 修复并简化文件描述符净化逻辑
- [应用] 修补 AP tar 文件时防止 OOM
- [应用] 修复设备配置检测中的错误
- [Daemon] 修复 APK 的证书解析问题
- [常规] 修复了忽略 C++ 代码中的日志记录错误

::: details 英文原版

- [MagiskBoot] Don't pad zeros if signed boot image is larger
- [MagiskPolicy] Fix `genfscon` and `filename_trans`
- [MagiskPolicy] Fix bug in `libsepol`
- [Zygisk] Fix and simplify file descriptor sanitization logic
- [App] Prevent OOM when patching AP tarfiles
- [App] Fix bug in device configuration detection
- [Daemon] Fix certificate parsing of APKs
- [General] Fix logging errors from C++ code being ignored

:::

## v26.3

- [常规] 修复设备信息检测脚本
Expand Down
2 changes: 1 addition & 1 deletion details.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ Magisk 将修补现成的 `sepolicy` ,以确保 Root 和 Magisk 操作能够

在 Android 8.0 之后,为了减少 Android 沙盒中规则的放宽,部署了新的 SELinux 模型。 `magisk` 二进制文件标记为 `magisk_exec` 文件类型,并且执行 `magisk` 二进制文件(包括 `su` 命令)的 su 客户端域将通过使用 `type_transition` 规则传输到 `magisk_client` 。规则严格限制仅允许 `magisk` 域进程将文件归因于 `magisk_exec` 。不允许直接连接到 `magiskd` 的 sockets;访问守护进程的唯一方法是通过 `magisk_client` 进程。这些更改使我们能够保持沙盒完好无损,并将 Magisk 特定规则与其他策略分开。

完整的规则可以在 `magiskpolicy/rules.cpp` 中找到。
完整的规则可以在 `sepolicy/rules.cpp` 中找到。

## 参考链接

Expand Down
2 changes: 1 addition & 1 deletion guides.md
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ REPLACE="

要添加您在自定义 `*.rc` 脚本中引用的其他文件,请将它们添加到 `overlay.d/sbin` 中。上面的 3 条规则不适用于此文件夹中的任何内容;相反,它们将直接复制到Magisk 的内部 `tmpfs` 目录(以前是 `/sbin` )。

从 Android 11 开始,`/sbin` 文件夹可能不再存在,在这种情况下,Magisk 会在每次启动时随机生成一个不同的 `tmpfs` 文件夹。当 `magiskinit` 将其注入 `init.rc` 时,`*.rc` 脚本中的 `${MAGISKTMP}` 都将替换为 Magisk `tmpfs` 文件夹。在 Android 11 之前的设备上,`${MAGISKTMP}` 将简单地替换为 `/sbin` 。因此在引用这些附加文件时,`*.rc` 脚本中**永远不要硬编码 “`/sbin`**
从 Android 11 开始,`/sbin` 文件夹可能不再存在,在这种情况下,Magisk 会使用 `/debug_ramdisk` 来代替。当 `magiskinit` 将其注入 `init.rc` 时,`*.rc` 脚本中的 `${MAGISKTMP}` 都将替换为 Magisk `tmpfs` 文件夹。在 Android 11 之前的设备上,`${MAGISKTMP}` 将简单地替换为 `/sbin` 。因此在引用这些附加文件时,`*.rc` 脚本中**永远不要硬编码 “`/sbin`**

下面是如何使用自定义 `*.rc` 脚本设置 `overlay.d` 的示例:

Expand Down
29 changes: 15 additions & 14 deletions install.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@

接下来,我们需要知道您的设备是否有单独的 `vbmeta` 分区。

- 如果您的官方固件包包含 `vbmeta.img` ,那么您的设备**有一个单独的 `vbmeta` 分区**
<!-- - 如果您的官方固件包包含 `vbmeta.img` ,那么您的设备**有一个单独的 `vbmeta` 分区**
- 您还可以通过将设备连接到 PC 并运行以下命令进行检查:
``` shell
Expand All @@ -44,13 +44,12 @@ adb shell ls -l /dev/block/bootdevice/by-name
```
- 如果找到 `vbmeta`、`vbmeta_a` 或 `vbmeta_b` ,那么您的设备**有一个单独的 `vbmeta` 分区**
- 否则,您的设备**没有单独的 `vbmeta` 分区**
- 否则,您的设备**没有单独的 `vbmeta` 分区**。 -->

快速回顾一下,此时,您应该已经知道并准备好了:

1. 设备是否有启动 ramdisk
2. 设备是否有单独的 `vbmeta` 分区
3. 基于 (1) 的 `boot.img``init_boot.img``recovery.img`
2. 基于 (1) 的 `boot.img``init_boot.img``recovery.img`

让我们继续[修补映像](#修补映像).

Expand All @@ -59,7 +58,6 @@ adb shell ls -l /dev/block/bootdevice/by-name
- 将 boot 、init_boot 或 recovery 映像( `*.img` 文件)复制到设备
- 按下 Magisk 主屏幕中的 **「安装」** 按钮
- 如果要修补 recovery 映像,请选中 **「Recovery 模式」** 选项
- 如果您的设备**没有单独的 `vbmeta` 分区**,请选中 **「修补 boot 映像中的 vbmeta」** 选项
- 在方式中选择 **「选择并修补一个文件」** ,然后选择 boot 、init_boot 或 recovery 映像
- 开始安装,并使用 ADB 将修补的映像复制到您的电脑:
``` shell
Expand All @@ -72,19 +70,18 @@ adb shell ls -l /dev/block/bootdevice/by-name
::: code-group

``` shell [boot]
fastboot flash boot[_x] PC上magisk_patched_[随机字符].img的路径
fastboot flash boot PC上magisk_patched_[随机字符].img的路径
```

``` shell [init_boot]
fastboot flash init_boot[_x] PC上magisk_patched_[随机字符].img的路径
fastboot flash init_boot PC上magisk_patched_[随机字符].img的路径
```

``` shell [recovery]
fastboot flash recovery PC上magisk_patched_[随机字符].img的路径
```

:::
`[_x]` 应该取决于您的设备,应为 `_a``_b` 或者不写
- <Badge text="可选" /> 如果您的设备有单独的 `vbmeta` 分区,则可以使用以下命令修补 `vbmeta` 分区
``` shell
fastboot flash vbmeta --disable-verity --disable-verification vbmeta.img
Expand All @@ -95,6 +92,10 @@ adb shell ls -l /dev/block/bootdevice/by-name
- 重启并启动 Magisk 应用程序(如果您清除数据,您将看到一个用于占位的 Magisk 应用程序),您将看到一个询问修复环境的对话框,点击它并等待重启。
- 瞧!

::: warning
**千万不要**刷写其他人共享的已修补的镜像,也不要在其他设备上修补镜像,即使它们具有相同的设备型号!您可能需要执行完整的数据擦除操作以恢复您的设备。**始终**在您要安装 Magisk 的同一设备上修补引导镜像。
:::

## 卸载

卸载 Magisk 的最简单方法是直接通过 Magisk 应用程序。如果您坚持使用第三方 Recovery,请将 Magisk APK 文件 重命名为 `uninstall.zip` 后像其他普通的刷机包一样刷入。
Expand Down Expand Up @@ -148,11 +149,11 @@ KnoxGuard 的值可能如下:

### 解锁 Bootloader

1. 允许在解锁 bootloader,在 **开发者选项 → OEM 解锁**
2. 重启至下载模式:关闭设备电源并按下设备的下载模式组合键
3. 长按音量上键解锁启动加载器**这将清除你的数据并自动重启**
1. 允许解锁 bootloader,在 **开发者选项 → OEM 解锁**
2. 重启至下载模式:关闭设备电源并按下设备的下载模式组合键
3. 长按音量上键解锁 bootloader**这将清除你的数据并自动重启**
4. 完成初始设置。跳过所有步骤,因为数据将在后面的步骤中再次清除。**请在设置过程中将设备连接到互联网。**
5. 启用开发者选项,**确认 OEM 解锁选项是否存在,并显示为灰色。** 这意味着 KnoxGuard 尚未锁定您的设备
5. 启用开发者选项,**确认 OEM 解锁选项是否存在,并显示为灰色。**这意味着 KnoxGuard 没有锁定您的设备
6. 您的 bootloader 现在在下载模式下可接受的非官方映像。

### 操作指南
Expand Down Expand Up @@ -186,8 +187,8 @@ KnoxGuard 的值可能如下:

### 注意事项

- **永远、永远不要**尝试将 `boot``recovery``vbmeta` 分区恢复到原样! 您这样做会破坏您的设备,并且从中恢复的唯一方法是**清除数据并进行完整的 Odin 恢复**
- 要使用新的固件升级您的设备,**切勿**出于上述原因直接使用原厂 `AP` 归档文件。 **始终**在 Magisk 应用程序中修补 `AP` 并改用它。
- **永远、永远不要**尝试将 `boot``init_boot``recovery` `vbmeta` 分区恢复到原样!您这样做会破坏您的设备,并且从中恢复的唯一方法是**清除数据并进行完整的 Odin 恢复**
- 要使用新的固件升级您的设备,**切勿**出于上述原因直接使用原厂 `AP` 归档文件。**始终**在 Magisk 应用程序中修补 `AP` 并改用它。

## 华为

Expand Down
25 changes: 25 additions & 0 deletions releases/26400.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# 2023.11.5 Magisk v26.4

- [MagiskBoot] 如果签名启动镜像较大,则不要填充零
- [MagiskPolicy] 修复 `genfscon``filename_trans`
- [MagiskPolicy] 修复了 `libsepol` 中的错误
- [Zygisk] 修复并简化文件描述符净化逻辑
- [应用] 修补 AP tar 文件时防止 OOM
- [应用] 修复设备配置检测中的错误
- [Daemon] 修复 APK 的证书解析问题
- [常规] 修复了忽略 C++ 代码中的日志记录错误

::: details 英文原版

- [MagiskBoot] Don't pad zeros if signed boot image is larger
- [MagiskPolicy] Fix `genfscon` and `filename_trans`
- [MagiskPolicy] Fix bug in `libsepol`
- [Zygisk] Fix and simplify file descriptor sanitization logic
- [App] Prevent OOM when patching AP tarfiles
- [App] Fix bug in device configuration detection
- [Daemon] Fix certificate parsing of APKs
- [General] Fix logging errors from C++ code being ignored

:::

**完整更新日志: [这里](/changes.html)**
1 change: 1 addition & 0 deletions releases/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# 发布日志

- [v26.4](26400.md)
- [v26.3](26300.md)
- [v26.2](26200.md)
- [v26.1](26100.md)
Expand Down

0 comments on commit bfb3b70

Please sign in to comment.