使用小黄鸟抓包pdd发现各个请求都找不到,但是发现了一个TCP长连接,长连接数据是在不断和服务端交互的
分析apk
使用androidkiller发现相关的长连接位于 com.xunmeng.basiccomponent.titan.api.TitanApiRequest类的 canUseLongLink 方法,按照常理只需要把返回值改成false即可
hook实现示例:
Class p1 = loadPackageParam.classLoader.loadClass("com.xunmeng.basiccomponent.titan.api.TitanApiRequest");
XposedHelpers.findAndHookMethod(clazz, "canUseLongLink",
p1,
AtomicInteger.class,
new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
XposedBridge.log("method before canUseLongLink:");
for (Object arg : param.args) {
XposedBridge.log("arg:" + arg);
}
XposedBridge.log("method before canUseLongLink:");
}
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
param.setResult(false);
XposedBridge.log("method canUseLongLink 修改返回值false");
}
});
打包hook使其生效
验证
再次打开小黄鸟查看,发现各个请求已经未使用长连接了,使用了http协议
有感兴趣的小伙伴可加Q好友交流学习