开源项目shizuku研究 您所在的位置:网站首页 shizukumanager 开源项目shizuku研究

开源项目shizuku研究

2023-03-26 13:28| 来源: 网络整理| 查看: 265

最近研读了开源项目shizuku,它可以在非root下调用一些system api,研究了它的运行原理,整理如下:

开源项目shizuku主要分为

Shizuku api

Shizuku manager

Shizuku api

要使用Shizuku manager的app需要集成这个库

shizuku manager

shizuku manager 分为client和server server是一个纯java项目,被打包成dex, 作为资源文件被打包到shizuku manager App中, server负责响应执行一些提权的命令。app安装运行后, server和libshizuku.so会被释放到sdcard上,用户使用adb 执行shell命令后,由于adb 用户具有比普通用户更高的权限, libshizuku.so会执行提权操作并启动server。

server端和client直接通信采用Android binder方式进行,实现是contentProvider,server启动后会监听应用的启动,每个app启动后,server端会主动调取对应app的moe.shizuku.api.ShizukuBinderReceiveProvider这个contentProvider,如果有权限就主动调用call方法发送binder到对方app

app获取到这个binder后就可以根据api提供的方法调用shizuku manager提供的接口达到权限提升的目的。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有