关键点还是注入和HooK 两个步骤
hook过程中,有几个比较坑的地方
1-DexposedBridge.canDexposed(this) 这个必须要调用,因为是为了初始化(这作者这名字取的也坑)
2-另外初始化需要一个application对象
Object currentActivityThread = ReflectUtils.invokeStaticMethod("android.app.ActivityThread", "currentActivityThread", new Class[]{}, new Object[]{}); Application app = (Application) ReflectUtils.getFieldOjbect("android.app.ActivityThread", currentActivityThread, "mInitialApplication");
3-直接hookwebview的setdata对象即可
4-那个so加载的问题 如果不行直接用System.load指定路径
其基本原理还是dex加壳来的