"移动虚拟化360分身大师那些事"是360技术经理王云鹏在GMTC2017全球移动技术大会上的分享,主要围绕分身大师这一创新技术展开深入探讨。分身大师是一种基于沙箱机制构建的Android应用,它能够在不改变原始应用的基础上,实现在同一设备上运行多个独立的、互不影响的“分身”实例,每个分身都像一个独立的Android应用程序。
技术架构方面,分身大师采用轻量级的Android虚拟机,利用Android的Hook机制(如Application初始化、BinderHook和NativeHook)来控制和管理不同分身之间的行为。其中,关键点包括代理Android四大组件(即Application、Service、BroadcastReceiver和ContentProvider),确保它们能够正确初始化并与其他系统服务进行通信。例如,NativeIOHook用于运行时替换,实现文件路径重定向,保证数据安全和隔离;而SD卡目录隔离和外部应用通信时的路径替换则是为了增强隐私保护。
在组件管理部分,针对Activity、Service和Receiver,分身大师提供了特定的技术解决方案,如模拟SingleTask模式以防止分身间互相干扰,以及针对加固类应用的DEX目录重定向处理。然而,这样的技术也面临着挑战,比如需要处理大量组件的Hook适配,适应Android版本不断更新带来的权限变化,以及应对各种复杂应用的多样性问题,同时还要应对加固应用方案的动态调整。
分身技术的优势在于其无缝接入原生APK的能力,无需额外安装即可运行,可以视为一种替代ROOT权限的工具,提供了一个相对独立的应用运行环境。此外,与标准Android系统相比,分身大师提供了更丰富的接口,便于开发者进行定制化开发。
王云鹏的联系方式为wangyunpeng@360.cn,对于进一步了解分身大师的详细技术和应用场景,可以与他进行交流。整体而言,这次分享不仅深入解析了分身大师的技术原理,还分享了实际操作中的经验和对未来分身技术的展望,对于理解和应用移动虚拟化技术具有较高的参考价值。"