【解包分析用】华为Pura70Pro+的鸿蒙Next升级包和回退包

@Ta 10-27 17:20发布,10-29 09:09修改 4333点击

解包分析用,华为不支持通过zip包安装更新,没法给自己手机用。

鸿蒙4.2升级到鸿蒙Next(不兼容安卓)的更新包

更新安装界面:http://update.dbankcdn.com/download/data/pub_13/HWHOTA_hota_900_9/af/v3/ke_6k0vEQVWRq8U5Gx-GyQ/oh_assets.zip
更新包本体:http://update.dbankcdn.com/download/data/pub_13/HWHOTA_hota_900_9/a3/v3/3tlkMNeBSxWqNthH3x2tXQ/full/update_full_base.zip

UPDATE.APP 文件拆分工具

包里的 UPDATE.APP 用这个工具拆分:https://github.com/marcominetti/split_updata.pl

拆分后可以得到各个分区的镜像,比如 BOOT.IMG、SYSTEM.IMG 等,有的镜像可以在最新版 Linux 系统内挂载(mkdir system; sudo mount SYSTEM.IMG system)。

SYSTEM.IMG 采用 EROFS,Linux 内核得打开这个文件系统支持才能挂载(已知Arch Linux可以挂载)。

Next的一次增量更新:

http://update.dbankcdn.com/download/data/pub_13/HWHOTA_hota_900_9/4f/v3/HFjnwm1RS8iy_tP6riPlnA/full/updater.zip

从鸿蒙next回退到4.2(兼容安卓)的回退包

  1. http://update.dbankcdn.com/download/data/pub_13/HWHOTA_hota_900_9/c4/v3/W1Zt1qRYST6VkLFQowT1ZQ/full/update_full_base.zip
  2. http://update.dbankcdn.com/download/data/pub_13/HWHOTA_hota_900_9/7b/v3/LnmMlrPyTlGpR2qu_HGNlA/full/update_full_preload_HBN-AL10_all_cn_R3.zip
  3. http://update.dbankcdn.com/download/data/pub_13/HWHOTA_hota_900_9/21/v3/TFUR75r_S-SH4m5nJFrm8g/full/update_full_cust_HBN-AL10_all_cn.zip

百度网盘下载

为防链接过期,顺便提供百度网盘下载,附带拆分好的各个分区镜像;此外还附带在next系统USB调试模式(hdc shell)里执行 hidumper 命令的输出(hidumper.txt),里面包含鸿蒙内核的启动参数和系统进程信息;mount.txt则包含系统分区挂载布局。

链接:https://pan.baidu.com/s/12pgwmS-DouwCqIzFGyBpKA?pwd=ot48
提取码:ot48

image.png(42.31 KB)image.png(42.83 KB)


鸿蒙内核的启动参数:

Hongmeng version: HongMeng Kernel 1.9.3.B030

/proc/cmdline

mntn_switch=011111111111101000101100000000000000011010000010001 last_bootup_keypoint=250 reboot_reason=COLDBOOT exception_subtype=no panic_pc=NA spec_info=0 tz_uefi_enable=1 ohos.boot.vendor.ddrsize=16 dma_zone_only=true swiotlb=2 allow_file_spec_access=true  console=ttyS0 sn=2Y中间十二位被移除03 UEFI=true pmu_nv_addr=0x10940000 ohos.boot.odm.conn.chiptype=hisi ohos.boot.odm.conn.schiptype=bisheng ohos.boot.odm.conn.chiptype=hisi enter_recovery=0 enter_erecovery=0 ohos.boot.uapp_ctx.match_nonce=0 efuse_status=0  ohos.boot.vercnt1=0 ohos.boot.trust_nv=0 ohos.boot.untrust_nv=0 ohos.boot.soft_nv=0  ohos.boot.hvb.enable=green ohos.boot.uapp_ctx.auth_role=0  ohos.boot.hvb.version=1.1 ohos.boot.hvb.device_state=locked ohos.boot.hvb.hash_algo=sha256 ohos.boot.hvb.size=31488 ohos.boot.hvb.digest=f2a11f50f75d094be49313ef7e96df8b83bf04dc4b1857d83f3f6b892dff8e8d ohos.boot.reboot_reason=normal ohos.boot.mode=normal ohos.boot.hardware=Kirin9010 ohos.boot.gpu_vendor=higpu.v200   ohos.boot.chiptype=Kirin9010_csv2   ohos.boot.devicename=default hmkernel.console.kernel-disable=2 hmkernel.console.loglevel=4 ohos.boot.modem_enable=1 normal_reset_type=COLDBOOT hw_kpatch=k=1  ro.boot.powerkey_restart_type=1 productid=0x2D085811 productid_unchecked=0x2D085811 cota_productid_unchecked=0xFFFFFFFF vendorcountry=all/cn devmodel=HBN-AL10 userHotaUpdate=success_0 recovery_update=0 check_vc=1  ohos.boot.udid=46中间六十位被移除0A runmode=normal backcolor=black  oba_version=20241018012340_OBA_VERSION userlock=locked oemmode=user developer_mode=1 uefilogo_time=6131 bl_time=6657  fg_cali=0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0 direct_charger=0,0,0,0  battery_nv_sn=42中间十二位被移除3B boot_detector_enable=1 boot_recovery_enable=1 bopd_mem_sp=on  TP_COLOR=210  tpcolor=black  usb_macbt=normal  NO_KEYCHORDS  boardid=13622 ohos.boot.board.boardid=13622 ufs_product_name=SGQ824FEBU0//XCF bootconfig loglevel=4 page_tracker=on fw_devlink=permissive printktimer=0xfb21b000,0x534,0x538 rcupdate.rcu_expedited=1 buildvariant=user default_boot_device=fa500000.ufs ohos.boot.swtype=normal ohos.boot.kernel=hongmeng 

鸿蒙内核的技术细节解读视频

视频链接

视频里提到鸿蒙内核有一个Linux驱动容器,可以在容器内加载Linux内核驱动(.ko),解包发现MODEM_DRIVER.img里面确实有一个modem_driver.ko,这是我目前发现的唯一一个.ko

此外视频还提到鸿蒙内核有能力启动AOSP(安卓框架),所以它肯定实现了很多AOSP需要的Linux内核功能。所以在mount.txt里看到SeLinux这样的东西也不用大惊小怪,这并不能代表 BOOT.IMG 里是Linux内核。(备注:虽然有能力启动,但next系统不附带安卓框架,不过这为VMOS这样的安卓虚拟机app移植到next提供了想象空间。)

目前我还搞不清楚 next 的 BOOT.IMG 里到底是什么东西(虽然理论上来说它应该是鸿蒙内核),但它肯定不是安卓风格的Linux内核(用strings BOOT.IMG看就能发现它没有安卓Linux内核内置的那一堆字符串,和鸿蒙4.2的 BOOT.IMG 明显不一样)。


更新:在 hidumper.txt 里找到另一个 .ko,of.ko,是通过以下形式运行的:

devmgr.elf --root-driver of.ko

其中devmgr.elf似乎就是上面那个视频里提到的 Linux 驱动容器。此外,.ko作为用户进程运行也反映出鸿蒙确实是微内核架构。

不过这个of.ko文件具体在哪里还没有找到,可能在 BOOT.IMG 里。

image.png(55.98 KB)


「AVSS研报iOS .Android.鸿蒙安全对抗能力初评报告﹣内核篇

https://mp.weixin.qq.com/s/QjXGDmnmvHyxWzoESsADLg

里面介绍了鸿蒙next微内核的安全特性,以及和鸿蒙4.2及iOS的区别。

回复列表(7|显示机器人聊天)
添加新回复
回复需要登录