昨天智机网(www.wpxap.com)泄露了最新的Windows 10 Mobile Build 10240,其中内置了传说中的AoW(Android on Windows)功能。将ROM解包后,让我们来一窥究竟AoW到底是什么。
从手机C:\windows\system32\aow文件夹中,可以看到大多数aow的组件,其中包括了AoW的会话管理器、Linux的OpenGLES兼容库以及一个aow.wim镜像。
将aow.wim镜像解包后,可以看到其实是一个几乎完整的Android 4.4.4镜像,包含了大多数Android核心文件。
在C:\windows\system32\drivers中,可以发现2个与AOW有关的内核驱动:ADSS.sys与LXCore.sys。
ADSS.sys从文件名猜测可能是AnDroid SubSystem的缩写,文件体积很小,其中引用了LXCore.sys。
LXCore.sys从文件名猜测可能是LinuX Core的缩写,使用16进制编辑器打开后,可以看到一些有趣的字符串。
initrd=/initrd.img root=/dev/ram0 rw androidboot.hardware=hyperv console=tty0 console=ttyS0 video=hyperv_fb:1024x768 BOOT_IMAGE=/kernel
Linux version 3.4.0-Microsoft ([email protected]) (gcc version 4.7 (GCC) ) #1 SMP PREEMPT Wed Dec 31 14:42:53 PST 2014
而用7zip以任意文件方式(#)打开LXCore.sys后可以看到里面还包含了一个linux-gate.so。
猜测LXCore是一个经过修改的、可以以模块形式运行在Windows内核中的Linux兼容内核。从文件体积看,该内核只对传统的Linux系统调用进行包装转发,最后调用Windows内核完成对应的功能,并不是传统意义上的Linux内核。
从AoW这个名字中可以看出,其类似于64位Windows系统中的32位子系统WoW(Windows32 on Windows64),并不是一个简单的虚拟机(其实并不简单)。但其运行方式与其他子系统(csrss.exe/lsass.exe)又有所不同。
Windows 10 Mobile几乎100%可以确定能够直接运行经过appx包装的apk文件,但目前由于某些原因(很可能是有大量未解决的Bug或是内部还在讨论对UAP生态的影响)导致微软迟迟没有放出这一功能。
如果想深入体验LINUX系统的新手,也可以先下载一个方德Linux软件中心试用一下。
免费下载地址:http://www.nfs-wuxi.com/cx/appCenter/open/softcenter