看到这里设置了很多WebView的回调接口信息,所以到这里就大致清楚蚂蚁森林或者说支付宝其他H5页面的层级关系是:H5Activity.fragmentManager->H5Fragment->H5ViewHolder->H5PageImpl->H5WebView;然后利用webview进行本地交互操作了。
四、编写Hook代码
有了上面的分析,这里绘制了一张图片,全世界唯独一份的,以后大家分析支付宝H5页面都可以按照这个流程来即可:
有了这张图我们对于写插件那就很简单了,下面就简单来分析一下代码吧,首先我们第一次进入会有两个返回信息,一个是当前第一页的好友信息,还有一个是自己的能量信息,所以需要解析两个,而对于自己的能量直接收取即可,我们可以hook上面的rcpCall方法来获取每次页面返回的response信息:
然后自动获取所有的好友列表信息进行保存:
这里需要分页请求到所有的好友信息保存,请求完成了然后在遍历所有用户获取可以收取的能量信息,发送获取分页好友信息的命令也很简单:
查看指定给用户可以收取能量的命令: