Java
Need help with root-manager?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.
hewu2008

Description

系统级别ROOT服务,模仿360手机助手的秒装功能

126 Stars 52 Forks 30 Commits 1 Opened issues

Services available

Need anything else?

360秒装功能分析

最新版360手机助手提供了秒装的功能,能够在已经取得root权限的手机上,不调用su进行授权,直接安装app从而能够有效减少应用安装的时间。

一、功能模块

360秒装功能主要分为permmgrrtservice两个模块, permmgr负责加载so库,实现root提权功能; rtservice模块在permmgr获得root权限的基础上以root身份启动qhrootservice进程,appstore通过跨进行通讯控制该进程执行秒装操作。

permmgr模块的com.qihoo.permmgr目录下主要包括以下几个核心文件:

类名 作用
IPermMgrService 定义权限管理服务接口
LocalRoot 声明jni函数调用lib360.so接口
PermService 权利管理服务,监控root状态
PermManager 负责临时root方案的权限获取和so库的加载

rtservice模块的com.qihoo.rtservice目录下主要包括以下几个核心文件:

类名 作用
Cmd 负责执行shell命令
IRTService 定义action和service name等常量
IRTServiceImpl 继承IRootService.Stub和IRTService,是系统服务的具体实现
IRootService 系统服务的接口
MethodInfo method的接口实体类
NativeHelper 负责对native库的处理
RTServiceManager 与ServiceManager类似,客户端接口的封装
TempRoot 定义错误码和常量
support 目录,包含一些实用类

二、permmgr模块分析

permmgr模块主要由PermManager管理,PermManager负责获取root权限。 首先定义permmgr后台服务接口 LocalRoot调用本地so库获取临时root权限,具体实现在lib360.so库中 PermService监听root广播: PermManager是root权限管理的接口管理类(仅保留函数声明) PermManager需要进一步仔细分析

三、rtservice模块分析

rtService作为一个独立的进程,首先定义了进程通信的接口和实现类,该进程可以通过dexClassLoader加载jar包或apk文件,从而以root身份执行任意的代码!

IRootService接口 IRTServiceImpl继承IRootService.Stub作为独立root进程qhrootservice的服务端

class IRTServiceImpl extends IRootService.Stub implements IRTService

具体实现暂不进行分析

RTServiceManager负责qhrootservice进程的启动和管理

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.