0x01 环境
python3.6、pycharm、安卓反编译工具jadx、样本apk包、charles抓包工具、电脑安装adb(安卓调试桥)
python使用到的库:frida
一部root的安卓6.0手机:手机上安装frida-server
手机使用usb线连接电脑,且打开usb调试。使用adb的时候,选择授权该电脑。
0x02 抓包分析
配置代理
保证手机和电脑处于同一网络环境下,然后手机上设置电脑IP作为其代理IP。
查询电脑IP的方法:WIN+R打开运行->输入cmd
->回车打开命令提示符->输入ipconfig
,显示的内容中即有电脑IP信息。如:
… …
无线局域网适配器 WLAN:连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::1ea:ac16:a5f4:70dc%23
IPv4 地址 . . . . . . . . . . . . : 172.16.156.26
子网掩码 . . . . . . . . . . . . : 255.255.252.0
默认网关. . . . . . . . . . . . . : 172.16.156.1
则电脑IP为172.16.156.26。
手机上打开当前连接的WIFI(不同手机操作方法略有不同),修改网络->高级选项->代理->手动,代理服务器主机名填上面的172.16.156.26
,端口为charles的默认端口8888
。
抓包
打开charles和手机,在样本apk中搜索。
拿到目标链接:
url:
https://api.xxxx.com/community/search/items/get?protocol=1&appKey=47cda90997074f10&start=0&versionCode=211&token=eed96c88-c110-4faa-bd9b-7fa6d6f0264a&key=%25E5%25A4%25A7%25E7%258E%258B×tamp=1606190200165&count=20&channel=1002&type=3&sign=wUAXTQxOFolZP4FQuSXtZvtnn.E=
请求头:
Accept: application/json
Content-type: application/json
Host: api.xxxx.com
Connection: Keep-Alive
Cookie: acw_tc=ac11000116061900179143931e01610f6f99e840c7cae1c380c9a0a984caa7
Cookie2: $Version=1
返回内容:
{
"rc": 0,
"msgInfo": null,
"errorInfo": null,
"redirect": null,
"redirectSign": null,
"ccdVersion": null,
"serverTime": null,
"serAppIn