接口【rpc调用】"/>
安卓逆向小案例——某短视频APP搜索+推荐接口【rpc调用】
某短视频APP搜索+推荐接口rpc调用
爱好学习及分享,若文章侵权,优先联系本人删帖处理。
一、目标
完成推荐列表和搜索列表的数据抓取。推荐列表可不用传参,搜索列表传入一个搜索词进行搜索。
二、实现
1. 下载apk并做好相应的准备工作
- 在豌豆荚下载对应版本的apk文件(apk-v: 6.87)
- 用平头哥感染该文件,并将感染后的apk安装到手机
2. 入口查找与分析
- 这里我们从URL入手,去hook所有的URl构造,手动触发相应的请求,此时会打印该请求的url:关键子串为api/sns/v6/homefeed
RposedBridge.hookAllConstructors(URL.class, new RC_MethodHook() {@Overrideprotected void afterHookedMethod(MethodHookParam param) throws Throwable {super.afterHookedMethod(param); URL url = (URL) param.thisObject; Log.d(TAG, "access url: " + url); }
});
- 根据找到的url来修改hook逻辑,同理搜索方法也一样
RposedBridge.hookAllConstructors(URL.class, new RC_MethodHook() { @Overrideprotected void afterHookedMethod(MethodHookParam param) throws Throwable {super.afterHookedMethod(param); URL url = (URL) param.thisObject; // Log.d(TAG, "access url: " + url); // 推荐 if (url.toString().contains("api/sns/v6/homefeed")) { Log.d(TAG, "推荐 url: " + url, new Throwable()); } // api/sns/v10/search/notes if (url.toString().contains("search/notes")) { Log.d(TAG, "搜索 url: " + url, new Throwable()); }}
});
- 这种时候去看堆栈的话,其实也看不出个啥,基本都是开启线程来做一些事情。最好的方式应该是用刚才hook出来的请求链接去源码里面搜索。
- 这里使用grep命令去查找指定字符串(因为APP太大了,直接jadx或者jeb反编译太吃配置了)<
更多推荐
安卓逆向小案例——某短视频APP搜索+推荐接口【rpc调用】
发布评论