HarmonyOS Next模拟器Root(无视模拟器镜像完整性验证)

admin 2024年10月29日10:55:50评论73 views字数 1716阅读5分43秒阅读模式

思路

由于模拟器的特性,我们是可以完全的控制模拟器的镜像的,那么就可以通过挂载和修改镜像文件实现对模拟器系统的修改,从而获取Root权限,但是模拟器本身有img镜像的完整性验证,此时我就想到HarmonyOS模拟器是qemu改的,那么它在运行过程中就会产生qcow文件,模拟器又不会校验这个文件得完整性,那么修改这个文件是否可以对模拟器产生效果呢,这就是本文思路的来源。

环境

修改镜像使用:Ubuntu 22.04

模拟器是运行在 Mac 上的Arm版本

模拟器镜像版本 3.0.0.36(Beta 3)

准备工作

  1. 1. 找到镜像文件qcow2文件,在模拟器的Emulator/deployed/Huawei_Phone,可以从DevEcoStudio的设备管理界面中查看
HarmonyOS Next模拟器Root(无视模拟器镜像完整性验证)
qcow2路径

镜像文件,在SDK目录下的 Huawei/Sdk/system-image/HarmonyOS-NEXT-DB3/phone_arm中,具体路径可在模拟器设置页面看到

HarmonyOS Next模拟器Root(无视模拟器镜像完整性验证)
镜像路径
  1. 2. 安装libguestfs-tools工具
apt-get install libguestfs-tools

3. 查看镜像分区

查看和挂载分区都需要原始的system.img文件,查看分区时如果报错找不到文件,则可以根据报错信息新建文件夹然后将原始的img文件放进去即可,例如报错信息提示找不到/xxx/xx/xxx/xxx/system.img,那么最简单的办法就是根据这个报错新建文件夹,并且将system.img放进去

virt-filesystems -a xxx.qcow2
  1. 3. 挂载分区
guestmount -a xxx.qcow -m /dev/sda1 /mnt/s

-a 指定镜像文件

-m 指定镜像文件需要挂载的目录

/mnt/s 指定本地的挂载点

4. 查看和修改文件进入挂载目录之后就可以正常查看和修改,修改后立即生效,qcow随即发生变动

cd /mnt/s

修改文件添加root

此处参考大佬的方案进行,可以直接去看大佬的文章去改也可以HarmonyOS Next 模拟器 root[1]

  1. 1. 修改system/etc/param/ohos.para
  2. 修改前
const.secure=1const.debuggable=0
  1. 修改后
const.secure=0const.debuggable=1
  1. 2. 修改system/etc/param/hdc.para直接把源码[2]中的内容搬到本地文件中,全部覆盖
  2. 修改前:
const.hdc.version = "Ver: 3.0.0b"
  1. 修改后:
const.hdc.version = "Ver: 3.0.0b"persist.hdc.mode.usb = "enable"persist.hdc.mode.tcp = "disable"persist.hdc.mode.uart = "disable"
  1. 3. 修改/system/etc/init/hdcd.cfg同样,直接把源码[3]中的内容搬到本地,全部覆盖这里内容有点多,就不展示了,直接去看源码即可
  2. 4. 修改完成后,qcow2文件就会同步发生改变,此时直接将其复制到模拟器对应路径下覆盖原文件即可

验证效果

hdc shell进去查看一下,效果如下:

HarmonyOS Next模拟器Root(无视模拟器镜像完整性验证)
效果

卸载

执行以下命令即可卸载镜像

umount /mnt/s

引用链接

[1] HarmonyOS Next 模拟器 root: https://wuxianlin.com/2024/10/27/root-harmonyos-next-emultor/
[2] 源码: https://gitee.com/openharmony/developtools_hdc/blob/OpenHarmony-5.0.1-Release/src/daemon/etc/hdc.root.para
[3] 源码: https://gitee.com/openharmony/developtools_hdc/blob/OpenHarmony-5.0.1-Release/src/daemon/etc/hdcd.root.cfg

 

原文始发于微信公众号(移动安全星球):HarmonyOS Next模拟器Root(无视模拟器镜像完整性验证)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月29日10:55:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   HarmonyOS Next模拟器Root(无视模拟器镜像完整性验证)https://cn-sec.com/archives/3327646.html

发表评论

匿名网友 填写信息