Android Hook 的一些重要基础类
2022-10-21 本文已影响0人
行走中的3卡
Hook 技术要是针对当前运行的应用, 因此以下涉及到应用的类,就显得很重要
1.Context 抽象类, 大量抽象方法获取当前应用的信息,如获取 5 (getApplicationInfo)
2.ContextWrapper 继承1, 并转发给3
3.ContextImpl 继承1, 实现 1 的方法, 并持有6, 有6即可获取到5.
4.Application 继承2
5.ApplicationInfo 封装应用的信息,例如来自AndroidManifest(包名) 以及 代码 和资源目录( sourceDir/publicSourceDir)
(重要)6.LoadedApk 进一步封装正在使用的应用,包含5的对象, 以及 activityThread / baseLoader
以及 mResDir 成员变量 (Tencent Tinker 热修复会更改这个值)
Hook 技术会大量修改 LoadedApk 里的值,即替换资源,起到修复代码的作用。