一、使用Postern和Chales抓包
1. 安卓手机安装Postern APP:教程
2. 电脑运行Chales:教程
3. 抓到的包,可以看到需要传x-sign
Charles二、使用jadx查看某鱼安装包:教程
1. 根据关键词x-sign搜索安装包
jadx2. 结合大佬的教程,有理由怀疑x-sign是在这个类里实现的:参考
3. 因为上述参考是旧版的,我一开始定位在了getMtopApiSign,怎么也hook不到数据。后来发现了这篇最新的参考,才知道自己找错方法了。感谢大佬出的教程。
4.使用frida对类进行监控,确定接口调用了getMtopApiSign这个方法。
objection -g com.taobao.idlefish explore
android hooking watch class 'mtopsdk.security.InnerSignImpl'
frida
三、使用Xposed持久化主动调用getUnifiedSign方法
1.找到了getUnifiedSign加密参数方法,只要解决主动调用该方法就完工了。本人用的是sekiro服务进行主动调用。调用该方法有个坑,需要mtopsdk.mtop.global.MtopConfig类将实例化。以下是Xposed插件的部分代码。
Class<?> clazz = XposedHelpers.findClass("mtopsdk.security.InnerSignImpl", loadPackageParam.classLoader);
Class<?> clazz2 = XposedHelpers.findClass("mtopsdk.mtop.global.MtopConfig", loadPackageParam.classLoader);
Object instance1 = XposedHelpers.newInstance(clazz);
Object instance2 = XposedHelpers.newInstance(clazz2, "test");
Object init = XposedHelpers.callMethod(instance1, "init", instance2);
Object result = XposedHelpers.callMethod(instance1, "getUnifiedSign", params, ext, appKey, authCode, useWua, requestId);
欢迎技术交流QQ:102734075
网友评论