有些app加了层壳, 通过抓包工具charles, fiddler, wireshark等抓包工具看不到有效的请求, 没法通过看后端返回的数据来抓包。 这时,可以通过app 渲染的app source来抓包。具体步骤如下:
1、安装 android sdk
installer_r24.4.1-windows.exe 安装包
安装好后需要下载tools,tools下载的内容包含:
Tools:Android SDK Tools, Android SDK Platform-tools, Android SDK Build-tools
Android 9 (API 28): SDK Platform, Google Play Intel x86 Atom_64 System Image, Google APIs Intel x86 Atom_64 System Image
Extras: Google USB Driver, Google Web Driver
安装好后需配置环境变量:
ANDROID_HOME=<安装路径>; 如D:\Program Files (x86)\Android\android-sdk
PATH=%ANDROID_HOME%\platform-tools;
PATH=%ANDROID_HOME%\tools
配置好后, 在cmd命令行输入adb devices命令, 查看pc连接的安卓设备, 如果没连接手机, 此时应该是空
2、安装appium
Appium-windows-1.15.1.exe 安装包
3、安卓手机连接上电脑, 打开USB 调试模式
在cmd命令输入以下命令查看设备信息:
adb devices //查看手机uuid
adb shell pm list packages //查看手机上所有的包名, 从中选择出自己需要的包
adb shell dumpsys activity + 包名 //查看app的activity信息
根据上面拿到的参数,打开 appium配置如下参数
手机上会同步安装appium, 配置好后,点击start session, 启动app, 在appium里就可以看到app source了。
在app source中找到 每个控件的source id, 用于在脚本中操作, 如搜索按钮, 商品名称, 商品价格等控件, 就像拿html元素的每个控件一样。
4、编写脚本控制app
编写python脚本, 通过不停的下滑, 拿到曝光数据