| 参数 | 含义 |
|---|---|
| functionId | 搜索接口名字 |
| clientVersion | app版本 |
| client | 手机类型 |
| st | 时间戳 |
| sv | 签名算法 |
| body | 请求的数据 |
根据上面日志输出的分析
sgin签名 计算涉及到了接口的这几个参数
functionId,body,uuid,client,clientVersion
String signature = JDHttpTookit.m20863WV().mo68383Xd().signature(JDHttpTookit.m20863WV().getApplicationContext(), functionId, str, str2, property, versionName)
其中的uuid 大概意思应该就是获取设备ID
方法体里面是这样子的,是个接口,既然有接口肯定有实现,继续查找
找到一个有点像样的,刚好也是5个参数
关键代码
BitmapkitUtils.getSignFromJni(context, str, str2, str3, str4, str5);
继续进去方法体分析
这段代码大概意思是 getSignFromJni 这个加密方法 是调用了jdbitmapkit.so里面的代码
Relinker.loadLibrary(JdSdk.getInstance().getApplication(), "jdbitmapkit");3.找出jdbitmapkit.so文件
直接压缩软件打开app,搜索,找出文件
在方法sub_127E4 找到关键词sign=
方法里面也刚好有uuid,body,st等关键词,确认是这个没错了
2.查看ida的代码分析一下算法,并且用java还原
收工
技术交流QQ 53461569



