作为一个快手资深用户,每天使用快手app看老铁直播,出于兴趣,曾经对快手接口进行过简单研究,年前写过一个小玩意发送弹幕发送跟老铁互喷!前两天想看下是否好使,发现快手app新版本限制抓包了,那就先研究一下快手app抓包吧!经过一下午的研究,发现可以通过一下三种方式,对app就行http抓包!
使用的工具: charles, root过的安卓手机一台 不同版本的快手apk
1,降低apk版本[快手版本6.8]
进过测试,发现降低版本可以进行抓包,测试版本6.8.0抓包通过!但缺点也很明显,apk过于老旧,新的接口可能没有,只能凑合着用
2. 删除热更新[快手版本7.5]
对于快手7版本,重装apk后,第一次使用发现可以抓包,但是关闭app后重新打开就不能抓包了!分析后发现是使用的热更新的方式限制接口通过代理抓包软件,那么简单了,每次启动app前我们可以手动删除热更新文件即可进行抓包!手动操作如下:
adb shell
su
rm /data/data/com.smile.gifmaker/files/mmkv/com.smile.gifmaker_switches
当然了,你也可以写一个模块,代码删除
String packageName = "com.smile.gifmaker"
String gifmakerSwitchesfilePath = "/data/data/" + packageName + "/files/mmkv/com.smile.gifmaker_switches";
File file = new File(gifmakerSwitchesfilePath);
if (file.exists()) {
file.delete();
log("删除gifmaker_switches文件成功!");
}
3. 使用socket转发,[快手版本8.0以上]
快手8.0以上版本快手同样限制接口通过代理,
方法一:简单粗暴的使用手机内搭建vpn转发socket到抓包工具的方法处理,基本满足了需求!
方法二:可以编写hook程序,修改app代码中的网络协议函数返回值强迫走http协议,也能达到目的,但这需要一定的技术水平!嫌麻烦的同学可以使用第一种方法
好了,周末时间太短,没做过多研究,关于快手抓包的方法就分享这三种方法大家可以参考一下!仅供学习,切勿非法用途!