anyproxy以及uiautomator2的使用
python 使用anyproxy抓包
anyproxy是基于node.js的代理服务器,可以对客户端和服务器之间来往的数据流以规定的rule进行拦截,期间可修改request或者response。可先安装node.js,之后使用 npm install anyproxy
anyproxy默认监听的端口是8001,可以在http://127.0.0.1:8002页面,看到所有的数据流。使用anyproxy进行手机抓包,和使用fiddler进行手机抓包是一个道理。不过fiddler监听的默认端口是8888。在进行手机抓包时,手机网络要和电脑处于同一局域网内,并为手机设置代理,代理ip为电脑ip,代理端口为使用工具的监听端口。最后还需要为手机安装相应的证书。
提取内容,编写rule.js代码,在遇到特定的url时,拦截数据流。提取或修改相关参数。提取使用redis保存,需要安装node.js的redis控件,python脚本需要的时候从redis中取出。
python 使用uiautomator2 安卓手机自动化
pip install --pre uiautomator2
python -m uiautomator2 init #初始化,需要连接手机,为手机安装一些工具
uiautomator2是python针对安卓手机自动化工具,相当于selenium和浏览器之间的关系。配合uiautomator2使用的weditor ,python install --pre weditor。安装完之后,命令行运行python -m weditor 会打开一个浏览器窗口,显示手机页面元素,方便uiautomator2的定位操作。
adb的下载,在安装开发工具可下载。
有了以上工具,就可以对微信小程序进行爬取。流程,使用adb连接控制手机,使用uiautomator打开微信小程序,期间开着anyproxy代理,就可以拿到小程序验证的相关参数
后来才知道还有mitmproxy这个工具,anyproxy基本不用了