黑莓BlackBerry 10系统Q10/Q20/Q30手机更新到v4
上次我发了这篇文章,已经有很多机友操作成功了,这次作者又进行了一次更新,但是好像忘记把升级脚本v2tov4.sh和v3tov4.sh放出来,我没找到,autoroot_v4.zip我已经放到之前的下载链接里面了。

下面是官方原文翻译
原文地址:https://bb10.root.sx/blog/autoroot-v4
发布日期:2026-10-22
发布说明与技术文档
🚀 主要变更与改进
- 全新的系统集成方式: 利用 BlackBerry 10 的动态库劫持(Dynamic Library Hijacking)漏洞(技术文章)。
- 优点: 保证跨重启的持久化——在获得 Root 权限之前重启设备,也不会中断流程。
- 重要提示: 集成机制通过
AppWorld生效。不要将sys.appworld加入removeapp命令,否则该机制会失效。
- 稳定性与代码优化:
- 彻底放弃了使用
switchzone作为启动 Root 特权代码的触发器。 - 完全用 C 语言重写了
btool,解决了之前 Android Runtime 崩溃和设备意外重启的问题。
- 彻底放弃了使用
btool功能扩展: 基于 C 的btool工具现已原生集成:pathtrust补丁器launcher补丁器- NVRAM 备份工具
- 安全与系统调整:
- 移除了大部分不必要的
suid/sgid辅助程序,仅保留提权所需的最低限度。 - 收到 Root 确认通知后,现在可以立即安装未签名的 BAR 应用。
- 移除了大部分不必要的
🛠 系统补丁安装器 (活跃开发中)
引入了一个系统补丁安装器,可以修改只读的系统文件、二进制程序和动态库。
重大成果(尚未发布): 通过将旧服务重定向到社区自建服务器,取代已停运的 RIM/BlackBerry 基础设施,成功复活了 BBID、Weather、AppWorld、BBM 等遗留服务。(特别感谢 @He11kern 的贡献)。
添加授权 SSH 公钥
默认私钥保存在 id_rsa4x 中。
如果希望使用自己的 SSH 密钥,请将公钥放置在:
patchdata/var/etc/ssh/authorized_keys2
然后在 patch.txt 中取消以下行的注释:
push "patchdata/var/etc/ssh/authorized_keys2" "/var/etc/ssh/authorized_keys2"
chmod 644 "/var/etc/ssh/authorized_keys2"
chown 0:0 "/var/etc/ssh/authorized_keys2"
这样即可使用配置的 SSH 密钥进行身份认证。
持久化 SSH 主机密钥(Host Keys)
默认情况下,重新刷机后 SSH 主机密钥可能会改变,导致客户端提示新的主机指纹警告。
为了在跨固件刷机后保留主机密钥,请取消以下注释:
push "patchdata/var/etc/ssh/ssh_host_rsa_key" "/var/etc/ssh/ssh_host_rsa_key"
push "patchdata/var/etc/ssh/ssh_host_rsa_key.pub" "/var/etc/ssh/ssh_host_rsa_key.pub"
chmod 600 "/var/etc/ssh/ssh_host_rsa_key"
chown 0:0 "/var/etc/ssh/ssh_host_rsa_key"
chmod 644 "/var/etc/ssh/ssh_host_rsa_key.pub"
chown 0:0 "/var/etc/ssh/ssh_host_rsa_key.pub"
如果你希望保留原有的指纹,也可以将这些文件替换为你现有的 SSH 主机密钥对。
📦 一步式自定义固件构建器(bb10mt)
为 bb10mt 新增了 batch 参数,可以在一个自动化步骤中完成固件镜像的修补和 Root,无需手动执行脚本。
用法示例
Windows:
bb10mt.exe batch -i Z30_10.3.03.3216_STA100-1-2-3-4-5-6.exe -s patch.txt -o \tmp\z30root
Linux / macOS:
./bb10mt batch -i Z30_10.3.03.3216_STA100-1-2-3-4-5-6.exe -s patch.txt -o /tmp/z30root
运行 bb10mt 之后,在 -o 参数指定的目录下,你会找到若干文件,其中包含文件名以 \_os.exe 和 \_radio.exe 结尾的文件。如果你不是开发者,可以放心删除其余的所有文件——它们只是中间产物。安装时先运行 \_os.exe(在流程最后会显示一个错误——这是正常现象,请忽略),然后再运行 \_radio.exe。
🛠️ 用户分区补丁配置(patch.txt)
通过 bb10mt 的 -s 参数传入的 patch.txt 文件,包含用于在镜像组装或系统引导时修改 user 分区的标志和配置指令。
可用指令
touch /var/rootdata/use.root—— 启用基础 Root 能力辅助程序。 —— 将__root和u_root的 SUID/SGID 二进制文件加入pathtrust,在执行时赋予提升的权限。touch /var/rootdata/use.sshd—— 配置系统启动时以root权限自动运行sshd守护进程。#touch /var/rootdata/use.berrycore—— 将根目录(/)加入pathtrust,允许依赖 BerryCore 的应用以root身份执行。
注意: 在未来的版本中,该指令将被改进为仅添加明确的 BerryCore 相关二进制文件,而不是信任整个文件系统根目录。
patch.txt 文件结构示例
# Enable base root helpers (__root, u_root)
touch /var/rootdata/use.root
# Auto-start SSH daemon as root
touch /var/rootdata/use.sshd
# BerryCore application execution (disabled by default)
#touch /var/rootdata/use.berrycore
下载
免重刷升级(Upgrade Without Reflashing)
支持者与贡献者可以索取升级脚本,无需重新刷入完整固件即可将现有的 AutoRoot 安装升级至 v4 版本。
升级方法:将 v2tov4.sh 或 v3tov4.sh 文件拷贝至设备,并执行:
sh /path/to/file/v2tov4.sh
或
sh /path/to/file/v3tov4.sh
在升级过程中,可能会询问是否需要 Root 权限以及是否需要 sshd。脚本执行成功后,重启设备即可应用更改。
SSH/Root 用户重要提示: 如果你是通过 Root 权限的 SSH 连接到设备的,请勿直接以 root 用户运行该脚本。请通过 __devuser shell 包装器运行,或将脚本加入 pathtrust 信任列表:
/proc/boot/pathtrust !/path/to/script/v2tov4.sh
或
/proc/boot/pathtrust !/path/to/script/v3tov4.sh
📂 系统包规范(System Package Specification)
目录结构
系统包包含配置文件、脚本和目标资源,划分为不同的执行阶段:
pkg.bar # 原始 BAR 包(可选)
MANIFEST # 包描述文件
├── data/ # 主安装内容
│ ├── file1..fileN# 内容文件
│ ├── perms # data/ 的文件权限配置
│ ├── links # 符号链接、复制、PPS 对象和目录创建
│ ├── patch # 二进制字节补丁指令
│ └── trusted # 待加入 trustpath 的路径
│
└── init/ # 初始化阶段(root 启动)
├── file1..fileN# 所需的启动文件
├── start.sh # 在 root 启动时触发的可执行 shell 脚本
├── perms # init/ 的文件权限配置
├── links # init 阶段的符号链接/复制
├── patch # init 阶段应用的二进制补丁
└── trusted # init 阶段的 trustpath 规则
配置文件格式
1. links —— 文件系统操作
定义要在目标路径上执行的操作:
ln:src:dst—— 创建符号链接,使dst指向srccp:src:dst—— 将文件从src复制到dstpps:src:dst—— 创建或更新 PPS(Persistent Publish/Subscribe,持久化发布/订阅)对象md:dst—— 在dst创建目录
2. perms —— 权限属性
指定属主和文件访问模式(等同于 chmod/chown):
/path/to/target:UID:GID:MODE
- 示例:
/accounts/1000/appdata/test:0:0:0755
3. patch —— 二进制字节修改
为目标二进制文件指定精确的字节级替换:
/path/to/target_file1
0xADDR1: 0xOLD1 0xNEW1
0xADDR2: 0xOLD2 0xNEW2
/path/to/target_file2
0xADDR1: 0xOLD1 0xNEW1
- 语法:
地址: 旧字节 新字节 - 示例:
0x0001A2F0: 0x89 0x90(在偏移0x0001A2F0处将字节89替换为90)。
4. trusted —— 可信路径白名单
纯文本文件,每行包含一个要加入系统 trustpath 的二进制文件或库的绝对路径。
现在bb10的root能做到不格机吗,不然格机完,大概率原有在bb10上用腾讯客服法卡的微信登录记录就没用了,再用4.3的webview貌似也完全调不起来facebook登陆 就自己把门锁死了