Android框架虚拟化实战

董福源

360手机卫士技术经理

工作11年,资深Android工程师,2012年入职360,现负责360手机卫士主程序业务。

演讲概要

本次演讲主要介绍Android沙箱技术,重点讲解其中的arm inline hook。
关于沙箱技术,介绍其大体的框架结构,包括Activity、Service、Provider等方案。
沙箱技术使用了众多hook点,本次主要讲解其中的arm inline hook。
arm inline hook方案,主要就是查找目标函数,之后修改目标函数起始内容,将其指向hook函数地址,执行后再返回原函数。
本次演讲的重点,就是如何处理目标函数的起始指令,如何修改并保证返回后能正确执行。分别针对ARM和THUMB指令讲解处理过程,以及具体的各种指令的处理方案。

听众收益

了解沙箱技术原理(包括技术架构、Activity等实现方案)
了解arm inline hook
学习ARM指令结构、指令集
学习linux系统函数及其应用