- 本项目欢迎各位读者开issue,本项目秉承公益的原则,故禁止倒卖!被骗的欢迎开issue来提供骗子个人信息!
- 如果看不了图片,你可以去下载WattToolkit,里面有“GitHub加速”功能;或者你也可以把这个项目克隆到本地,然后下个VSCode,VSCode中下一个OfficeViewer插件就能看了
- 材料:电脑*1,数据线一根,乐于提问、勤于思考/会用搜索引擎的人x1
- 文件库:https://kdxf.work/
- Warning:下列操作要想生效,都需要进行解锁bl(即Bootloader锁),以及刷入分区的危险操作,三思而行,所以备份尤为重要,我建议是但凡是要进行修改的分区都应当进行备份,以及在root完成后,请使用爱玩机工具箱"导航——刷机工具箱——镜像分区管理"导出系统除userdata分区以外的所有分区的备份
- 下列操作都已经超出了《科大讯飞AI学习机AI学习软件服务用户协议》:
用户若对学习机进行刷机行为,包括但不限于获取root权限,刷入第三方ROM等,则本机将会从科大讯飞AI学习机官方技术支持和软件保修服务中被移除
所以,下面的内容请三思而行
为何要把root部分拿出来讲呢?因为展讯芯片系学习机的boot无法patch(原因是没有ramdisk)
system分区植入法目前已成功实践,rec法因为avb的原因无法正常启动,所以下文只讲system分区植入magisk法
适配机型:x2pro,t10等ud710设备,c系列机型(c6,c10,c10pro)因未知原因提取失败,
- 大概思路:将magisk安装到安卓system分区,可以参考某酷安大佬写的方案(Magisk system root部分)
总结下来就四步:①解锁板子的bootloader(这一步已经做到能纯Windows环境下进行了),②提取system分区并进行修改,③将修改好的文件放回分区并刷回板子中以root
- 文件:到“紫光解BL锁”目录下下载adb-fastboot-win-unlock.zip文件
- 文件2:下载"用来得到解锁密钥的软件.apk"
- 进入fastboot模式(有两种方法,在各机型的新版本已经修复了第2种使用编程空间的方法,如失败请使用第1种方法进入fastboot):
- 1.使用物理按键进入REC(提示:与Jingpad A1进入rec的方式一致,具体方式请见Jingpad A1的Postmarket OS Wiki页面),然后轻按电源键+音量加的按键组合调出菜单,用音量上选择第二项,然后使用电源键进入fastboot模式
- 2.检查学习机内是否有编程空间软件,若没有可升级学习机系统;进入编程空间后输入以下文本并执行学习机会自动进入fastboot模式
import os
os.system("reboot bootloader")
- 在下载下来的文件的解压目录的地址栏输入cmd,在打开的窗口中输入
fastboot devices
得到一串字母加数字,这就是你机器的序列号,在另一台安卓设备上安装“文件”中的apk,输入你得到的序列号(或平板背面贴纸上的SN码),完事会生成一个叫signature.bin的文件,你需要将这个文件拷到当前目录(即:你cmd在的目录)
- 步骤1.安装WSL环境(目的是为了得到Linux环境,你也可以利用VMware等虚拟机软件创建Linux环境,这里不做要求)
- 步骤2.在下载下来的文件的解压目录的地址栏输入cmd,在打开的窗口中输入
fastboot oem get_identifier_token
命令获取 android 设备ID
输出结果类似于这样:
Identifier token:
XXXXXXXXXXXXXXXXXXXXXXXX
OKAY [ 0.019s]
finished. total time: 0.019s
-
将步骤 2 所获取的设备ID作为参数,在wsl中执行设备号签名脚本,命令如下:
./signidentifier.sh <填入设备ID,若为多行,请将其连成一行,并且中间不能出现空格字符> rsa4096_vbmeta.pem signature.bin
取生成的signature.bin文件,这就是你需要的解锁文件
- 使用
fastboot flashing unlock_bootloader signature.bin
的命令,进行设备解锁,然后按下音量下键,确认解锁即可,然后bootloader会进行格机 - 恭喜你,成功解锁bootloader
关机,拔下数据线,然后,在维持 长按音量下 的情况下插上数据线即可进入下载
or:
关机,拔数据线,在维持 同时按住音量下,电源键,音量上 的情况下插入数据线即可进入下载
附赠:按键图
-
访问qutick102.ysepan.com,这是刷机工具的存放网盘,由@Tomking062管理,打开之后,会出现如下界面:
-
你应该去下载最上面的紫光驱动以及最新版本的spd_dump_dev,你或许要问:那哪个是最新版本呢?很简单,找那个后面跟着的日期最近的就是,点一下文件名就能下载,另外要说明,你不应当先安装紫光驱动,这个驱动应当在你先把bl正确解了以后再安装(fastboot的驱动跟这个貌似有点冲突,会获取不到USB设备标识符导致识别不了)。
-
将紫光驱动解压,然后到Driver_R4.21.3201\Doc目录下,下面有一个安装教程,名为Driver Install and Uninstall Guide V1.2 (CN).pdf,照着这个自己安装驱动即可
-
将spd_dump_dev_日期.zip解压,将它里面的SPRD目录单独取出,放在一个你记得住的位置(for example:桌面),其他的你删了都行。
-
打开那个留下来的SPRD目录,对空白处进行Shift+右键 ,点击"在此处打开命令窗口",输入spd_dump_interactive.exe并回车,你就进入了交互界面,这时你需要将平板关机,利用上面进入download的相关内容进入download模式
-
这时,你命令行应该是一个交互界面,显示BROM> 字样,这便代表着你成功进入download模式
-
如果你是T10/X2P/X3P/C6/T20等机型(芯片为类型1),你可以从本教程目录下的fdls.7z 中获取两个fdl文件用来进入fdl2交互界面,你需要把两个fdl文件放在SPRD目录下,然后在命令行里执行fdl fdl1.bin 0x5500 (回车) fdl fdl2.bin 0x9efffe00 (回车) exec (回车以进入fdl2命令行模式;如果是新机型(以C10,S30之类新展讯机型为代表的类型2机型),自求多福,或者使用A10(也为TX20平台)的已Root全量包
-
此时,如果能正常运行上面的命令,便会自动显示分区表,告知你各分区大小,方便你后面的提取
-
输入read_part 分区名 0 分区大小 以读取vendor,system分区,速度还是比较快的,6-8MB/s
-
提取完进入下一步:修改system,vendor分区以root
2024.7.27:现在可以选择使用一键脚本进行半自动化修补,但你需要自行安装unzip软件包,但请注意,本脚本默认在root用户下运行且提示语为英文,你如果要使用需要有一定英文基础 or 会用翻译软件
如果出现operation not premitted,你需要创建虚拟磁盘然后挂载到Linux下并移动文件到虚拟磁盘下/使用chattr命令更改文件属性
如果出现空间不够,请自行删除system分区下app中TyeBroswer/IFlyOTA/IFlyCleanMaster/IFlyPdfReader等文件夹然后再次运行脚本
你需要在镜像目录的路径栏中输入 wsl -d Ubuntu -u root
并回车即可进入Linux环境,并异步执行以下命令:
mkdir system
sudo mount -o rw system.img system
sudo cp system-root/bin/magisk system/system/bin/magisk
sudo cp system-root/bin/magiskpolicy system/system/bin/magiskpolicy
sudo cp system-root/init/magisk.rc system/system/etc/init/magisk.rc
sudo cp -r system-root/magisk system/system/etc/init
sudo chmod 0700 -R system/system/etc/init/magisk
sudo chown -R 0 system/system/etc/init/magisk
sudo chcon -R -h u:object_r:system_file:s0 system/system/etc/init/magisk
cd system/data
mkdir adb
cd ..
cd ..
sudo cp -r system-root/data-magisk system/data/adb/
sudo nano system/system/etc/init/bootanim.rc
用键盘将光标移动在最底下并按几下回车,然后向其中复制以下内容 Tips:把鼠标放到代码框右上角,你会发现有一个复制的按钮,按一下就好,然后在命令行中使用右键进行粘贴即可
on post-fs-data
start logd
exec u:r:su:s0 root root -- /system/etc/init/magisk/magiskpolicy --live --magisk
exec u:r:magisk:s0 root root -- /system/etc/init/magisk/magiskpolicy --live --magisk
exec u:r:update_engine:s0 root root -- /system/etc/init/magisk/magiskpolicy --live --magisk
exec u:r:su:s0 root root -- /system/etc/init/magisk/magisk64 --auto-selinux --setup-sbin /system/etc/init/magisk /sbin
exec u:r:su:s0 root root -- /sbin/magisk --auto-selinux --post-fs-data
on nonencrypted
exec u:r:su:s0 root root -- /sbin/magisk --auto-selinux --service
on property:vold.decrypt=trigger_restart_framework
exec u:r:su:s0 root root -- /sbin/magisk --auto-selinux --service
on property:sys.boot_completed=1
mkdir /data/adb/magisk 755
exec u:r:su:s0 root root -- /sbin/magisk --auto-selinux --boot-complete
on property:init.svc.zygote=restarting
exec u:r:su:s0 root root -- /sbin/magisk --auto-selinux --zygote-restart
on property:init.svc.zygote=stopped
exec u:r:su:s0 root root -- /sbin/magisk --auto-selinux --zygote-restart
在修改完后,你需要用Ctrl+X+Y的组合键来保存你的修改,然后进行下一步
sudo gzip system/system/etc/init/bootanim.rc bootanim.rc.gz
sudo cp bootanim.rc.gz system/system/etc/init/bootanim.rc.gz
自此完成安装基本root环境,下面到"修改vendor"前都是一些优化步骤
cd system/system/app/
sudo rm -rf IFlyOTA
Tips:如果你前一步"卸载系统更新"也进行了,那你需要先执行三次 cd ..
nano system/system/build.prop
用键盘将光标移动在最底下并按几下回车,然后加入以下内容(Tips:把鼠标放到代码框右上角,你会发现有一个复制的按钮,按一下就好,然后在命令行中使用右键进行粘贴即可):
persist.service.adb.enable=1
persist.sys.usb.config=diag,adb,mtp
ro.sys.usb.default.config=diag,adb,mtp
在修改完后,你需要用Ctrl+X+Y的组合键来保存你的修改,然后就完成了改system的步骤
mkdir vendor #如果镜像文件目录下已经有这个vendor文件夹就不用执行该步
wget https://kdxf.work/d/magisk_vendor.zip
unzip magisk_vendor.zip
chmod +x ./libmagiskinit.so
sudo cp vendor/etc/selinux/precompiled_sepolicy sepol.in
./libmagiskinit.so --patch-sepol sepol.in sepol.out
sudo cp sepol.out vendor/etc/selinux/precompiled_sepolicy
sudo gzip -k vendor/etc/selinux/precompiled_sepolicy
sudo umount system.img
sudo umount vendor.img
write_part system system.img
write_part vendor vendor.img
reset
注:reset命令是重启的意思,如果你还要刷其他分区,你刷完再执行reset
电脑在解bootloader那一步用的文件夹里打开cmd 输入
adb devices
adb install 你爱玩机的apk文件
工作模式选择Root,给它授权,然后你就可以使用这里面的安装器了(喜
- 装9008驱动,下一个HxD Editor
- 进入9008模式(关机,然后按音量减,再插上数据线,然后就进去了)
- 使用firehose文件和工具箱读取boot_a和boot_b,frp分区(记得备份!!!你砖了我不负责)
- 利用HxD Editor对frp的镜像进行修改,将最后一个字节改为1(修改前好习惯,备份)
- 将修改后的frp通过9008刷入,然后通过rec进bootloader,并输入
fastboot flashing unlock
解锁bl - 利用工具箱中功能修补两个boot并刷回去就可以了
等那几个人搞出来twrp适配再说,到时候直接twrp一刷就行了,挺简单的(
或者你仿照展讯机型教程的试试?就是稍微复杂了些
Yixiyixi666/KDXF-studypad-C10 (github.com) ——By@Yixiyixi666
OTA全量包、差分包及如何利用的一系列方法(全机型通用)——By@KawaiiSparkle
替换内置PackageInstaller与DefaultContainerService程序(文件仅适用于安卓9,安卓11、12机型需要自行找对应版本的文件进行替换)——By@KawaiiSparkle
Link:Download SPD Driver R4.20.4201 (UniSoc Driver) (androiddatahost.com) 国内网盘分流:到“紫光通用”目录下下载“紫光驱动”即可
作用:ADB驱动+展讯下载模式的驱动
使用方法:下载安装即可
注:macOS、Linux不需要安装这个东西
Link:GitHub - TomKing062/CVE-2022-38694_unlock_bootloader Spd_Dump工具下载:到“紫光通用”目录下下载日期最新的spd_dump_dev版本
学习机型号 | 系统版本 | 运/储存配置 | soC型号 | 是否可以安装第三方APP | 是否可以进行Root | 备注 | TWRP | GSI支持 |
---|---|---|---|---|---|---|---|---|
T10 | Android 9.0 | 8+256 | 展讯T710类型1 | Y | Y | 已成功编译,但刷不进去 | 暂时还不行 | |
X2Pro | Android 9.0 | 4+128 | 展讯T710类型0 | Y | Y | 没设备树 | OK | |
X3Pro | Android 9.0 | 8+256 | 展讯T710类型0 | Y | ? | 操作人员刷了C6的系统,后面就没进展了 | Half-OK,需要修改vendor | |
T20 | Android 9.0 | 8+256 | 展讯T710类型1 | ? | ? | 卡在进download,操作人员的机器没有反应 | 未知 | |
X1Pro | Android 9.0 | 4+32 | 高通450/625 | Y | Y | Root教程在X1 PRO - 研究导航 - 小白向supersuroot.github.io | 未知 | |
C6 | Android 9.0 | 4+64 | 展讯T710类型1/0 | Y(毕业后官刷) | N(有多人测试后反应不行) | 校园版请毕业后再折腾 | OK | |
T20Pro | Android 12L | 8+512 | (瑞芯微)RK3588 | Y | ?(可以使用自带root的DSU镜像) | 神金,用你RK的工具根本找不到那个frp分区,uboot被删减了,avb是不存在的。我们现在只能希望有个人主动试试刷入magisked_boot来看看能不能root。总之,最抽象的一集 | 已成功编译,但刷不进去 | 未知 |
X3-5G | Android 11 | 6+256 | 高通 骁龙750G | Y | Y(2024.5.19更新,目前已经可以了) | 最有乐子的一集,9008进入方式与展讯下载一模一样,是通过修改frp分区最后一个字节为1来进行允许解锁oem进而解锁bl | 未知 | |
C10(Pro) | Android 9.0 | 4+128 | 展讯T710类型2(暂时不可解) | ?(老版本可以) | N(无法使用spd_dump,加载值未知,试图开发新方法) | 未知 | 未知 |
群聊:766720774(QQ),看管理心情踢人
@KawaiiSparkle/@qwqlemon2333一起编写了伪造apk更新包教程+Root教程 @KawaiiSparkle研究了IFlyOTA,并编写了相关文档 @Tomking062提供了Root的思路、spd_dump工具(改进版本) @whhh233为我们免费提供了网盘来存放文件 @WalleoAndrew最初开始搞科大AI学习机解除安装限制的人 @YedLeo1正在研究T20Pro解锁BL,他编写了T20Pro的DSU食用方法,在本项目下的t20p.md中 @KawaiiSparkle/@LYao2514创作了一键自动patch系统分区的脚本
Q1:如何进入榜单?
A1:你得做足够大的贡献才行
Q2:为什么大佬不愿意帮我?
A2:首先,新手不代表你可以不动脑子,我们更希望的是你能通过菜鸟教程、Bilibili、Bing等网址自行解决问题,至于一些英文的东西需要自行翻译
Q3:如何鉴别安卓版本(9 or 11/12)
A3:注意时间的位置(左上角 or 右上角),在左边即为11/12;去(设置——存储
点击"系统"),这样可以得到安卓版本号。
Q4:如何鉴别设备soC厂商?
A4:和各机型的"下载模式"有关,这是所有的提示