0.确认oneplus6 root正常
oneplus6 root材料
- oneplus6手机恢复出厂设置 ,
或者 线刷 enchilada_22_K.52_210716_repack--HOS-10.0.11.zip
:
-
(组织) https://gitee.com/OnePlus6-brick-enchilada_22_K_52_210716_repack-HOS-10_0_11-zip
-
(组织) https://gitlab.com/software0/OnePlus6-brick-enchilada_22_K_52_210716_repack-HOS-10_0_11-zip
OnePlus6Hydrogen_22.K.52_OTA_052_all_2107162058_62b4aa--HOS-10.0.11.zip /boot.img
- (组织) https://gitee.com/gitee_orgg
- (组织) https://gitlab.com/software0/OnePlus6Hydrogen_22_K_52_OTA_052_all_2107162058_62b4aa-HOS-10_0_11-zip
APatch_a548f7b_10253-release-signed.apk
低版本APatch: https://github.com/bmax121/APatch/releases/download/10253/APatch_a548f7b_10253-release-signed.apk
oneplus6 root步骤
以下改为用oneplus3t为例
oneplus3t(sdm821)是oneplus3(sdm820)高配置版本,理论上oneplus3t能用的 oneplus3也能用?
1.确认oneplus3t root正常
OnePlus3T_28_A.83_200220.tar.bz2
OnePlus3THydrogen_28_OTA_083_all_2002201900_bf0fc8385b5547c0--HOS-9.0.3.zip/boot.img
APatch_a548f7b_10253-release-signed.apk
- (见同名上文)
没有用oneplus3官方提供的oxygen(android源码) 理由是 据说 其提供的linux内核难以编过? 、 lineage面对了更多设备
1b. frida观看 界面文本
2.oneplus3t刷lineage16 正常运行
TODO 做过 但没记录
3. lineage16 (android framework)正常编译 、刷入oneplus3正常运行
参考
android_framework/oneplus3/lineage-build-simple-manual.md
TODO : 改为调试配置、以配合gdb观看局部变量
(不用gdb)修改代码以日志 观看绝对坐标
(日志中有貌似绝对坐标)打印 SkMatrix->mapPoints 的参数日志
: https://gitlab.com/lineage16_oneplus3t/develop/LineageOS/android_frameworks_base/-/commit/4d5cb462baf7f5a79e30f5ad61501e1e8bcf59da
大致要解决:
-
用清华镜像替代aosp
-
提供正确的linux内核仓库
https://github.com/LineageOS/android_device_oneplus_oneplus3.git
https://github.com/LineageOS/android_device_oppo_common.git
https://github.com/LineageOS/android_kernel_oneplus_msm8996.git
https://github.com/LineageOS/android_packages_resources_devicesettings.git
-
提供正确的厂商(vendor)驱动仓库 TheMuppets/proprietary_vendor_oneplus.git
-
基于以上三项,解决剩余的编译报错
刷入步骤(简单)
前提:
-
手机处于android开机正常状态、usb调试开、bootloader已解锁
-
lineage16 (android framework)正常编译的产物(OTA全量刷机包):
/app4/lineage16_oneplus3t/out/target/product/oneplus3/lineage-16.0-20241019-UNOFFICIAL-oneplus3.zip
bash
adb reboot bootloader #进fastboot
fastboot boot twrp-3.5.2_9-0-oneplus3.img #进twrp
twrp界面: Advance
--> adb sideload
--> 勾选davild cache
、usr cache
--> 等待在adb sideload界面
bash
adb sideload /app4/lineage16_oneplus3t/out/target/product/oneplus3/lineage-16.0-20241019-UNOFFICIAL-oneplus3.zip
#等待写完,重启手机即可
4. 修改linux内核配置
android_framework/oneplus3/lineage-build-simple-manual.md
x. 佐料
比较 APatch、Magisk
- APatch 隐藏性 高于 Magisk
Magisk27的包名随机话 只在framework层修改了包名、并未修改/sbin/su
, 因而还是能被检测到
而Apatch高版本提供了自定义/sbin/su
路径能力 从而抗检测更强
-
APatch出现较晚, 低版本android无法安装 APatch.apk
-
APatch的理想操作方式是 获得此时手机等效的
OTA.zip/boot.img
APatch 前提:
- 能拿到手机此时用的boot.img
将boot.img喂给Apatch, Apatch修改其为boot-xxx.img
这个前提 的通俗情况是 拿到该手机 此时所运行版本 对应的 OTA完整刷机包, 即可得到OTA.zip/boot.img
- 手机bootloader已解锁
fastboot flash boot boot-xxx.img
- 1+2 B. 回焊台 可 等效替代 1、2
理论上, 若有回焊台,
将手机的emmc芯片取下来、
从emmc中获得boot.img
、
用APatch修改boot.img
得到boot-xxx.img
、
将boot-xxx.img
覆盖emmc中的boot.img
、
emmc焊接回手机,
则 等效于 前提1、2