题外话:华为的 DevEco Studio 还得要实名认证和申请才能运行虚拟机
ps:这是开发吗,这是开hu
声明:如果此贴侵犯了您的权益,请立即联系我删除,如应联系不及时导致的各种损失和问题(包括但不限于机密,名誉等受损), 后果自行承担
好了,我们需要准备的东西有
MIO-KITCHEN NEX/T系统包
开始解包, 我们解包了System和Vendor
可以看出,NEXT的文件系统使用的EX/T, 而不是EROFS
解包后的system是这样的, 结构非常像安卓,继续深入
居然有passwd
小知识
“”“
Linux 系统有多种身份验证方法,但标准方法是针对 /etc/passwd 和 /etc/shadow 文件进行身份验证。
/etc/passwd 文件是一个纯文本,其中包含所有用户帐户的信息。它包括系统上的用户帐户列表,以及用户 ID、组 ID、主目录和默认 shell 等详细信息。
root 用户拥有该文件,并且只有 root 用户或具有 sudo 权限的用户才能修改该文件。但是,所有系统用户都具有读取访问权限。
”“”
可以看到,全部都是false登录shell, 那么这意味着什么那?
其实这个false相当于nologin,即这个用户无法使用bash或者其他shell来登录系统,
包括ROOT用户[下图](悲
现在,我们打开APP文件夹
HPK和APK结构完全不同了,但都是ZIP,安卓用的是JVM,鸿蒙真机DUMP下来是JS/VM
小知识
“”“
JVM 是 Java Virtual Machine(Java虚拟机) 的缩写,安卓大部分是Java,安卓就是运行在JVM上
Js/vm则是Java Script Virtual Machine缩写, 是一个面向 JavaScript 开发领域的基础框架。该软件是自由软件,2003年底由万常华发起, 目前是2.0版,采用的是 BSD License 授权协议。
JSVM性能比JVM略差一些
虽然它们都是虚拟机,但它们执行的是不同的代码类型。
”“”
其应用更像是Web前端写的, 迎合了云计算的需求是把?
而且应用权限限制的非常死
其他的都是json格式的了, 安卓apk用的是xml格式
另外,就是pt值得关心的问题了,此系统可以在安卓的VENDOR运行吗?
答案:不能!
What Can I Say?musl!
鸿蒙使用的是MUSL作为libc, 而安卓是bionic
小知识
“”“
Bionic包含了系统中最基本的 lib 库,包括libc、libm、libdl、libstdc++、libthread,以及Android特有的链接器linker用于取代glibc, 采用BSD协议
其实是为了规避glibc的GPL协议, 因为GPL有传染性:一旦有软件使用了GPL授权协议,那么该软件代码必须开源
反观mu/s/l, mu/s/l是一个基于 Linux 的系统的标准库的实现
使用的是MIT协议开源
PS:商业公司狂喜!
”“”
其so库和二进制文件全部使用MU/S/L作为libc, 故安卓的vendor,哪凉快哪呆着去吧[受虐滑稽]别想了
二进制格式依然是ELF
什么成分不多说
另外有趣的是, 翻系统文件时,发现了承德避暑山庄的印章图片
(不是,你给了多少钱啊[受虐滑稽]
另外,华为是不是自研100%?
答:不是!
就论其使用的安卓与LINUX代码或借鉴的代码,都不可能100%(个人理解
中国通信院评估的应该是其功能和后期维护 而不是其代码(个人理解
就按其代码评估, 可能至多90%(存疑,因为安卓和Linux代码用的有点多)
PS:这个应该由开发者评判, 这个什么院可能就是宣传噱头
另外,安卓的文件头是ANDROID! 这里变成了HARMONY! 又是借鉴了安卓是吧?
FSTAB挂载文件
AVB秒变HVB, 改名大师是吧?
小知识
“”“
什么是AVB
Android 8.0 及更高版本包含启动时验证的一个参考实现,名为 Android 启动时验证 (AVB) 或启动时验证 2.0。AVB 是支持 Treble 计划架构的一个启动时验证版本,可以将 Android 框架与底层供应商实现分离开来。
”“”
最后, 有趣时刻:
哇,好多android
谷歌!
那末,鸿蒙是不是安卓捏?
不是!其确实自研(就是借鉴的有点多, [耐克嘴])
其是不是Linux?
存疑,其BOOT被加密,无法分析
但是用户空间使用的是Linux ABI
ps:哪有什么自研, 模仿罢了
什么10年走完Linux30年,那是有Linux可以借鉴,前人铺好了路,鸿蒙只是站在巨人的肩膀上
Linux发展30年, 它又能借鉴什么呢?
好了,本期的分析到这里结束,记得点个关注