Files
KDXF-LEAKiNG-Project/Unisoc.md
2025-04-12 02:26:01 +08:00

18 KiB
Raw Blame History

目录

免责声明

在开始破解设备及刷机之前,您需要知悉以下几点

  1. 刷机有一定风险有一定使设备完全损坏的可能如果您无法保证您可以在操作之前确认您的技术不足以支持您破解此设备或您无法保证您的设备不会因此损坏请去淘宝或者讯飞线下店、官方维修去刷价格保持在60~100元左右若您执意自行操作并因为误操作导致您的设备损坏此文章编写团队概不负责。

  2. 如果您需要的只是安装应用功能,并要求保留学习功能,请看我们的的官方侧载应用教程。

  3. 此文章受众:因为各种情况,以后用不上学习机学习功能并希望将此机器废物利用的用户。

  4. 未成年人请在家长允许并陪同+配合下进行刷机。如果您不同意\未获得家长允许并陪同\自认为自己技术不足的请退出本文档本文档部分章节已经超出了《科大讯飞AI学习机AI学习软件服务用户协议》 用户若对学习机进行刷机行为包括但不限于获取root权限刷入第三方ROM等则本机将会从科大 讯飞AI学习机官方技术支持和软件保修服务中被移除

  5. 如果您未同意此条款或者未遵守本文第四条规定并因此带来的各种经济损失,精神损失,此文章编写团队概不负责。

  6. 若您不同意以上条款,请您退出并在您的个人设备上删除此文档并不再操作

    主要贡献者名单

    @KawaiiSparkle/@qwqlemon2333/@whhh233一起编写了伪造apk更新包教程+Root教程

    @Tomking062提供了实操Root的思路(system-mode方法)、spd_dump工具(改进版本)

    @whhh233为我们免费提供了网盘来存放文件 目前因为腾讯云风控说他这个网盘可能有欺诈行为,所以他把 网盘关了

    @WalleoAndrew最初开始搞科大AI学习机解除安装限制的人,BOOM群群主

    @YedLeo1/@KawaiiSparkle研究出了 T20Pro 没有BL锁或启用的avb2.0验证 的结论。并在此基础上成功 Root了该机型还初步适配了该机型的TWRP

    @KawaiiSparkle/@LYao2514创作了一键自动patch系统分区的脚本

    @永夜—x2向我证明了x2刷入x2pSystem的可能性

    酷安/Bilibili@某贼 帮助我们将一些镜像、文件转存到萤火虫资源站

    致谢部分到此结束


1.紫光展锐处理器部分机型深刷破解

此破解方法基于将学习机的system分区备份并替换为破解完成或官方解锁之后的system分区以达到删除学习功能并自由安装软件的目的理论上紫光机型应该能通刷只不过因为缺少刷机包资源支持所以基本上只能破解的部分机型如下若有偏差请指正

1.0该方案适用机型情况

  • X2/Z1/Q1/X3Pro/C6全系

  • T10/T20/C8全系

  • A10(仅理论)

    不能破解的机型

    任何高通、瑞芯微机型(若您有需要请移步高通机型破解教程,瑞芯微机型目前暂无方案)

    Ud710-chip2/ad机型缺少fdl文件

    T310ums312机型缺少fdl文件

    1.1下载您需要的文件

    您需要有一台电脑,并下载几个工具和适合您设备的刷机包

    1.1.1spd深刷驱动以及spd深刷工具的下载

请您去这个网站下载 网站!

并且下载图片内划线的文件

您还需要下载大部分展锐机型的fdl文件

请去群内或者我们的webdav下载

若您确定您有IPv6那么请您http协议端口6066并匿名登陆即可

ipv6地址

若您无法确定您有没有ipv6请访问

ipv4地址

文件位置

文件地址2

2刷机包下载地址 萤火虫资源站

萤火虫资源站

打开网站后点击“03-学习机、家教机、学生卡、学生平板、儿童手机”按钮,此时会跳转到下一个页面,拉到最底下选择“讯飞”按钮即可选择您需要刷写的==设备==

请您下载划线的文件

例如科大讯飞x2pro虽然没有但是他的课堂版学校特供吃回扣版也就是C6的官解刷机包是可以通用的(==同样适用于x2==),如果在未来找不到刷机包可以尝试刷写同芯片机型的刷机包,但是刷机之前一定要备份,下文会讲到,否则等着去找售后修吧!

下到刷机包之后,您应该打开这个文件 ,这个文件一般为.zip格式请用解压软件将带有system字样的bin文件或img文件解压到一个存储足够大且足够稳定的存储位置并记着这个文件存储在哪

move system.bin to flash

现在您应该打开您刚刚下载的spd_dump_stable.zip和紫光驱动_R4.21.3201.zip

您应该先打开紫光驱动_R4.21.3201.zip并安装驱动

==请您检查您的计算机的windows系统版本==并选择与您对应的驱动例如windows7就应该选择DriversForWin78

将与您计算机系统版本对应的文件夹解压到任意文件夹并且打开

spd driver setup

请选择与您计算机cpu位数x86/x32,x64所对应的版本大部分计算机应该选择DPInst64.exe

spd dump 2

双击打开DPInst64.exe/ DPInst32.exe以上文提到的您的计算机的字长为准一般会弹出安装界面

您只需要一直点击下一步即可

driver setup 1

Spd driver 2

现在您需要解压另外一个文件“spd_dump_stable.zip”

SPD 1

解压完成后点击SPRD文件夹将您刚刚下载的两个fdl文件挪到这里并确定这两个文件的名称是fdl1.bin和fdl2.bin

Fdl move

1.2 spd深刷的备份和刷写

1.按住音量减连接电脑

设备关机打开深刷工具spd_dump.exe在关机之后摁住设备音量减并将设备插入计算机如能看到如下图BROM字样可松开按钮如没有请重启你的计算机和平板或者尝试在插入计算机前将设备所有按键按住或按住音量加、功能键等。

into spd on pc

2.进入fdl模式命令

在此之前先保证您的设备是Windows10或者Windows7win11经过@Y2K-x2p的验证usb3成功链接概率很小

输入

fdl fdl1.bin 0x5500

回车,再输入

fdl fdl2.bin 0x9efffe00

您应该会进入这个界面

in fdl 1

回车接着输入

exec

进入fdl2模式。

请您按照我写出的步骤执行否则会失败报错usb send fail失败后请长摁平板关机键重启平板

若您看到下图界面则说明您成功进入了fdl模式

in fdl 2

1.3备份全盘

您先需要备份全盘分区并妥善保存,输入

r all

意为读取全盘

即可如果软件闪退可以从头再来在r all时加入目标地址 但是不管怎样文件都会保存SPRD文件夹内您打开工具的文件夹

R system

等文件读取完毕,你应该去把文件妥善保存并记住存储位置

R system 2

应该输出类似于此,此为全盘备份图片

1.4刷入之前破解好的system.bin

解压之前在萤火虫或者文件站下载的刷机包记住解压后system.bin文件的路径位置I:\x2pro-system.bin。

在刷机工具spd_dump.exe窗口内输入

w system I:\x2pro-system.bin

(注意文件名不能有空格)

等待刷写完毕

flash system

等待刷写完成后

输入

e userdata

以清除用户数据分区,如果不清除的话可能会导致卡第一屏

输入

reset

以重启

1.5如停止响应恢复备份系统

若您的设备在启动时一直停止响应,并显示此屏幕,那您的设备可能无法使用此方法或者没有找到对的刷机包。

请使用上文的r system方法将原备份的系统刷回去就行具体命令是 r system 盘符:您备份的文件地址\文件名。

Error fix

c6系统注意事项

请注意c6包的开发者密码是IFlyCBaistudy5121

你实际上也可以下个爱玩机工具箱来直接打开adb(我个人更推荐这种)

2.学习机系统制作官改版系统教程

2.0 阅读要求

1.学习机系统底层是android9

2.熟练掌握1.0教程所有内容,本教程不会顾及你的任何基础

3.本教程修改系统部分需要在Debian上进行

4.system法root替换安装器仅适用于零售版系统

2.1 文件准备

magisk安装包26+官版和Kitsune都行的

由 A9版本GSI镜像/校园版官刷后版本 提取得到

boot,system,vendor镜像自己想办法得到

2.2 (修改system/vendor)root

linux上挂载system镜像与vendor镜像为读写解压magisk安装包

我这里magisk安装包解压到了/mnt/d/m

system挂载到了/mnt/d/root

vendor挂载到了/mnt/d/vendor

电脑侧修补vendor需要的文件:

magiskinit-x86:/mnt/d/m/lib/x86_64/libmagiskinit.so

precompiled_sepolicy:/mnt/d/vendor/etc/selinux/precompiled_sepolicy

修补平板上system分区需要的文件左边是文件名,右边是这些文件的路径):

magisk32:/mnt/d/m/lib/armeabi-v7a/libmagisk.so

magisk64:/mnt/d/m/lib/arm64-v8a/libmagisk.so

magiskpolicy:/mnt/d/m/lib/arm64-v8a/libmagisksepolicy.so

magiskinit:/mnt/d/m/lib/arm64-v8a/libmagiskinit.so

stub.apk:就你解压的这个magisk安装包我这里就是/mnt/d/app-debug.apk

config:使用 echo -e "SYSTEMMODE=true\nRECOVERYMODE=false" > config命令创建

上面这几个文件得到后使用cp命令将几个文件移到/mnt/d/root/system/bin以及/mnt/d/root/system/etc/init/magisk

(注:bin文件夹中不该有stub.apk和config文件

两个文件夹(magisk文件夹自行创建)把这些文件的owner设为0权限给700

对/mnt/d/root/system/etc/init/bootanim.rc进行复制复制为/mnt/d/root/system/etc/init/bootanim.rc.gz

对/mnt/d/root/system/etc/init/bootanim.rc进行以下修改添加以下内容并保存


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

    exec u:r:su:s0 root root -- /system/bin/sh -c "settings put global adb_enabled 1"

    exec u:r:su:s0 root root -- /system/bin/sh -c "setprop service.adb.tcp.port 5555"

    exec u:r:su:s0 root root -- /system/bin/sh -c "setprop ctl.restart adbd"


on property:init.svc.zygote=restarting

    exec u:r:su:s0 root root -- /sbin/magisk --auto-selinux --zygote-restart

    exec u:r:su:s0 root root -- /system/bin/sh -c "settings put global adb_enabled 1"

    exec u:r:su:s0 root root -- /system/bin/sh -c "setprop service.adb.tcp.port 5555"

    exec u:r:su:s0 root root -- /system/bin/sh -c "setprop ctl.restart adbd"

   

on property:init.svc.zygote=stopped

    exec u:r:su:s0 root root -- /sbin/magisk --auto-selinux --zygote-restart

    exec u:r:su:s0 root root -- /system/bin/sh -c "settings put global adb_enabled 1"

    exec u:r:su:s0 root root -- /system/bin/sh -c "setprop service.adb.tcp.port 5555"

    exec u:r:su:s0 root root -- /system/bin/sh -c "setprop ctl.restart adbd"

另使用magiskinit-x86文件进行以下操作:


chmod +x magiskinit-x86的文件位置

magiskinit-x86的文件位置 --patch-sepol /mnt/d/vendor/etc/selinux/precompiled_sepolicy /mnt/d/vendor/etc/selinux/precompiled_sepolicy.gz


magiskinit-x86的文件位置 --patch-sepol /mnt/d/vendor/etc/selinux/precompiled_sepolicy /mnt/d/vendor/etc/selinux/precompiled_sepolicy

成功Root.

2.3 (修改system)替换安装器

将/mnt/d/root/system/priv-app中DefcontainerService与PackageInstaller使用你得到的无限制版本进行替换。

并将替换后的/mnt/d/root/system/priv-app/DefcontainerService/lib/arm64/libdefcontainer_jni.so与/mnt/d/root/system/lib64/libdefcontainer_jni.so进行软链接(要相对路径而非绝对路径,泪的教训),我这里使用以下命令:


cd /mnt/d/root/system/priv-app/DefcontainerService/lib/arm64/


rm -rf libdefcontainer_jni.so


ln -s ../../../../lib64/libdefcontainer_jni.so libdefcontainer_jni.so

然后就结束了

2.4 (修改boot)boot方法root

Warning:Magisk方式Root具有及其高的不确定性可能你启动完一次重启它就无法再进系统了也可能你能一直用非常玄学如果你只是为了使用爱玩机即除了那个默认模块以外什么也不用你实际上可以只使用Apatch的作为Root权限管理器而言Apatch方法更稳定

2.4.1 (修改boot)Apatch法

电脑方法:参考APatch 安装指南 | APatch Docs以及在线修补 得到了修补好的镜像以后去Fork 这个仓库并进入你Fork的仓库-Actions会有一个警告自己看。你点击绿色的就可以启用这个仓库的Actions功能了 功能介绍 这里Apatch修补要用的是第二个点进 sign-one-partition-only输入好镜像直链地址第二个空是填写分区名称的这里是boot然后再点 Run Workflow(文件自己想办法或者参考下面那一部分把文件上传Github的步骤)即可在几分钟后在本仓库Releases下找到修补好的镜像文件名称为image.img(Tips:记得看文件大小,小的不自然就说明链接错了,重新获取直链再重新跑)

2.4.2 (修改boot)Magisk法

首先确保你有一个Github账户没有可以去GitHub.com首页右上角自行注册一个以备用

在登录好的默认界面中,你需要打开这个链接 NewRepository name填写为任意名称点击下方的绿色按钮以创建

创建好后自行下载GithubDesktop并登录Github账号可参考安装 GitHub Desktop 并进行身份验证 - GitHub 文档

在你的Github Desktop中打开 Files(F)并打开对应着 Ctrl+Shift+O快捷键的那个选项从里面找到你刚建的仓库双击并等待Clone完成

使用spd_dump从设备中将splloader,uboot,sml,trustos,vbmeta,boot与recovery分区提出来并打包为一个zip格式的压缩包必须确保每个分区镜像后缀名为.bin并将该压缩包放入GithubDesktop Clone到的那个仓库内部放完后回到GithubDesktop里面它应该会显示更改你Commit并Pull即可

后面的步骤相对简单些你需要Fork 这个仓库并进入你Fork的仓库-Actions会有一个警告自己看。你点击绿色的就可以启用这个仓库的Actions功能了 功能介绍 这里Magisk修补要用的是 resign方法,点击进入再点 Run Workflow把你上传到仓库的压缩包的直链链接获取了复制进去并运行即可在几分钟后该仓库的Releases里面找到它修补并签名好的镜像压缩包 output.zip解压后就能找到修补好的boot镜像并刷入了教程结束

2.5 (仅修改system) 获得一个精简的类似GSI的system分区