mirror of
https://github.com/DroidPluginTeam/DroidPlugin.git
synced 2026-10-16 20:20:33 +08:00
修改错别字 去除无用文字
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
前言:为什么要了解系统Activity,Service,BroadCastReceiver,ContentProvider的启动流程,这是一个对于即将理解插件中的四大组件动态注册,占坑的前提,如果不了解的话,那么很难了解插件hook哪此东西,又是如何骗过AMS来启动Activity,Service,BroadCastReceiver,ContentProvider?
|
||||
前言:为什么要了解系统Activity,Service,BroadCastReceiver,ContentProvider的启动流程,这是一个对于即将理解插件中的四大组件动态注册,占坑的前提,如果不了解的话,那么很难了解插件hook哪些东西,又是如何骗过AMS来启动Activity,Service,BroadCastReceiver,ContentProvider?
|
||||
|
||||
本节主要记录系统BroadCastReceiver的注册,发送流程:
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
前言:为什么要了解系统Activity,Service,BroadCastReceiver,ContentProvider的启动流程,这是一个对于即将理解插件中的四大组件动态注册,占坑的前提,如果不了解的话,那么很难了解插件hook哪此东西,又是如何骗过AMS来启动Activity,Service,BroadCastReceiver,ContentProvider?
|
||||
前言:为什么要了解系统Activity,Service,BroadCastReceiver,ContentProvider的启动流程,这是一个对于即将理解插件中的四大组件动态注册,占坑的前提,如果不了解的话,那么很难了解插件hook哪些东西,又是如何骗过AMS来启动Activity,Service,BroadCastReceiver,ContentProvider?
|
||||
|
||||
本节主要记录系统Service的启动流程:
|
||||
先看时序图:
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
|
||||
- a.共享进程:为android提供一个进程运行多个apk的机制,通过API欺骗机制瞒过系统
|
||||
|
||||
- b.占坑:通过预先占坑的方式实现不用在mainfest注册,通过一带多的方式实现服务管理
|
||||
- b.占坑:通过预先占坑的方式实现不用在manifest注册,通过一带多的方式实现服务管理
|
||||
|
||||
- c.Hook机制:动态代理实现函数hook,Binder代理绕过部分系统服务限制,IO重定向(先获取原始Object-->Read,然后动态代理Hook Object后-->Write回去,达到瞒天过海的目的)
|
||||
|
||||
@@ -66,9 +66,3 @@
|
||||
下一篇开始分析基本原理中的Hook机制
|
||||
|
||||
---
|
||||
|
||||
在此输入正文
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
在了解系统的activity,service,broadcastReceiver的启动过程后,今天将分析下360 DroidPlugin是如何预注册占坑的?本篇文章主要分析Service预注册占坑,Service占了坑后又是什么时候开始瞒天过海欺骗AMS的?先看下Agenda:
|
||||
|
||||
- **AndroidMainfest.xml中概览**
|
||||
- **AndroidManifest.xml中概览**
|
||||
- **Service中关键方法被hook时机**
|
||||
- **startService被hook**
|
||||
- **瞒天过海流程图**
|
||||
@@ -121,6 +121,5 @@ android_util_Binder.cpp
|
||||

|
||||
|
||||
到此,不再向下深究,具体想了解可以看Binder机制及IPC相关内容。
|
||||
所以,到这把第2个问题彻底弄明白了,ServceManager和ServiceManager根本不是一回事。到次,Service的瞒天过海得以实现,接着,就是介绍时候说的那样无需修改源码,多进程,多service等功能。另外ContentProvider及BroadCast原理是类似,不再进行分析。
|
||||
所以,到这把第2个问题彻底弄明白了,ServiceManager和ServiceManager根本不是一回事。到次,Service的瞒天过海得以实现,接着,就是介绍时候说的那样无需修改源码,多进程,多service等功能。另外ContentProvider及BroadCast原理是类似,不再进行分析。
|
||||
下篇将开始分析包管理(宿主插件和插件包名有什么规则),APK解析(为什么可以免安装),进程管理(能确保隐藏起来,不会在process轻易被kill)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user